Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code beschleunigen - mit select case und rows del

Code beschleunigen - mit select case und rows del
07.08.2006 10:21:50
chris
Hallo VBA Experten,
ich habe hier einen Code der bei einer sehr langen(großen) Anzahl von zeilen ziemlich lange braucht.
Meine frage gibt es eine möglichkeit den Code zu beschleunigen wenn ja wie ?
Vielen Dank im vorraus Christian
Worksheets("neu").Select
LZ = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For x = LZ To 1 Step -1
Select Case Cells(x, 3)
Case "4700600700", "4710603200"
Case Else
Rows(x).Delete
End Select
Next

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

Betreff
Datum
Anwender
Anzeige
AW: Code beschleunigen - mit select case und rows del
07.08.2006 10:28:24
Luschi
Hallo Chris,
''am Anfang diese 3 Befehle hinzufügen:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
''und am Ende alles wieder zurücksetzen
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Damit schaltet man die BS-Aktualisierung, die Berechnung und die Ereignisaktivierung aus bzw. wieder ein.
Das hilft schon ganz schön.
Gruß von Luschi
aus klein-Paris
AW: Code beschleunigen - mit select case und rows del
07.08.2006 11:41:29
chris
Tausend dank !!
AW: Code beschleunigen
07.08.2006 23:04:36
Daniel
Hallo
ich habe mal irgendwo gelesen, daß beim Umgang mit Objekten
For Each xxx in yyyy ... Next - Schleifen schneller sind als normale For-Next-Schleifen.
Also mal so probieren:

Sub Löschen
Dim Zelle as range
Worksheets("neu").Select
For each Zelle in range(cells(1,1), cells(65000,1).end(xlup)
Select Case Zelle.offset(0,2).value
Case "4700600700", "4710603200"
Case Else
Zelle.entirerow.delete
End Select
Next
End Sub

Gruß, Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige