Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zu langer Code?Bereich Formatieren

Forumthread: Zu langer Code?Bereich Formatieren

Zu langer Code?Bereich Formatieren
04.03.2004 12:04:54
Lars, Jungclaus
Hallo Spezialisten,
ich benutze folgendes Makro um einen markierten Bereich zu formatieren:

Sub Formatpunkt0()
Dim i, Ausgewählte_Zellanzahl, oberste_Zeile, linke_Spalte As Integer
Dim oben_links
On Error GoTo FeedBack
Ausgewählte_Zellanzahl = Selection.Areas.Count
ReDim Ausgewähltes_Feld(1 To Ausgewählte_Zellanzahl)
For i = 1 To Ausgewählte_Zellanzahl
Set Ausgewähltes_Feld(i) = Selection.Areas(i)
Next i
For i = 1 To Ausgewählte_Zellanzahl
oberste_Zeile = Ausgewähltes_Feld(i).Row
linke_Spalte = Ausgewähltes_Feld(i).Column
Next i
Set oben_links = Cells(oberste_Zeile, linke_Spalte)
For i = 1 To Ausgewählte_Zellanzahl
Ausgewähltes_Feld(i).NumberFormat = "#,##0"
Next i
Exit Sub
FeedBack:
If Err = 1005 Then
MsgBox ("Geht nicht in gesperrtem Blatt!")
Else
MsgBox Error(Err)
Resume Next
End If
End Sub

Das muß, mit der gleichen Funktionalität doch auch kürzer gehen - wer weiß wie ?
Danke Gruß Lars
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zu langer Code?Bereich Formatieren
04.03.2004 12:29:08
Ramses
Hallo
Bereich markieren und das Makro laufen lassen

Sub Formatpunkt0()
Dim myC As Range
On Error GoTo FeedBack
For Each myC In Selection
myC.NumberFormat = "#,##0"
Next
Exit Sub
FeedBack:
If Err = 1005 Then
MsgBox ("Geht nicht in gesperrtem Blatt!")
Else
MsgBox Error(Err)
Resume Next
End If
End Sub

Gruss Rainer
Anzeige
AW: Zu langer Code?Bereich Formatieren
04.03.2004 13:13:11
Lars
Danke Rainer,
das Problem ist das dieser Code viel langsamer ist als der alte, versuche mal zeilen a1:h65000 so zu formatieren. Der alte Code braucht ca. 3 sekunden, der neue ? (habe nach einer Minute abgebrochen.)
Gruß Lars
AW: Zu langer Code?Bereich Formatieren
04.03.2004 13:16:55
Ramses
Hallo
von Geschwindigkeit hast du nichts gesagt :-)
Option Explicit

Sub Formatpunkt0()
Dim myC As Range
Set myC = Worksheets("Tabelle1").Range("A1:x2000")
On Error GoTo FeedBack
myC.NumberFormat = "#,##0"
Exit Sub
FeedBack:
If Err = 1005 Then
MsgBox ("Geht nicht in gesperrtem Blatt!")
Else
MsgBox Error(Err)
Resume Next
End If
End Sub

Den Range bitte anpassen.
Gruss Rainer
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige