Herbers Excel-Forum - das Archiv

ablaufgeschwindigkeit makro

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: ablaufgeschwindigkeit makro
von: samsplanet

Geschrieben am: 09.01.2007 15:47:16
liebe gemeinde
folgendes makro wird identisch in zwei verschiedenen excelmappen eingesetzt:
Private Sub CommandButton3_Click()
Worksheets("Name Blatt").Activate
ActiveSheet.unProtect Password:="XXX"
Rows.Hidden = False
Dim L As Integer, R As Integer
L = Cells(Rows.Count, 9).End(xlUp).Row
For R = 1 To L
If IsEmpty(Cells(R, 9)) Or Cells(R, 9).Value = 0 Then
Rows(R).Hidden = True
End If
Next R
ActiveSheet.Protect Password:="XXX"
ActiveWorkbook.Protect "XXX"
Unload Me
ActiveWorkbook.PrintOut Copies:=1, Preview:=True, Collate:=Tru
End Sub

nun tritt bei einer der genannten mappen folgendes phänomen auf:
wende ich das makro ein erstes mal an, läuft es sehr schnell ab. clicke ich den commandbutton aber ein zweites mal, läuft das makro viel langsamer ab. jedoch nur in einer der verwendeten mappen. in der anderen läuft es bei jeder anwendung gleichschnell ab. woran könnte das liegen?
grüsse
sam
Bild

Betrifft: AW: ablaufgeschwindigkeit makro
von: Daniel Eisert

Geschrieben am: 09.01.2007 16:26:22
Hallo
keine Ahnung woran das liegen könnte.
Excel ist manchmal ein bissen buggy, wenns um grössere Datenmengen geht.
Manchmal hilft es auch, eine neue Datei zu erstellen und die Daten und Makros reinzukopieren, dann ist das Problem u.U. ne Zeiltlang behoben.
Tritt der Effetk auch auf , wenn du die Zeilen nicht per Schleife, sondern per Autofilter ausblendest? Wäre doch sowieso einfacher zu progammiern und wahrscheinlich auch insgesamt schneller?
Gruß, Daniel
Bild

Betrifft: AW: ablaufgeschwindigkeit makro
von: Rudi Maintaire

Geschrieben am: 09.01.2007 16:36:07
Hallo,
kleine Modifikation:
Private Sub CommandButton3_Click()
Worksheets("Name Blatt").Activate
ActiveSheet.Unprotect Password:="XXX"
Dim L As Integer, R As Integer
L = Cells(Rows.Count, 9).End(xlUp).Row
For R = 1 To L
Rows(R).Hidden = Cells(R, 9).Value * 1 = 0
Next R
ActiveSheet.Protect Password:="XXX"
ActiveWorkbook.Protect "XXX"
Unload Me
ActiveWorkbook.PrintOut Copies:=1, Preview:=True, Collate:=True
End Sub
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
 Bild