Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
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
Inhaltsverzeichnis

Schleife und ScreenUpdating

Schleife und ScreenUpdating
23.11.2021 16:17:43
Christian
Hallo zusammen,
nachdem ich jetzt schon so einiges gegoogelt und ausprobiert habe, frage ich dann Euch gerne, ob jemand eine gute Idee hat ... Ich habe eine Schleife, die auf Basis bestimmter Kriterien Zeilen im gleichen Blatt löscht. Siehe Code:

Private Sub EM_B_Blöcke_löschen_Einmal_Click()
'ZUSÄTZLICHE BLÖCKE EINMALZAHLUNG LÖSCHEN
Call AlertsBeginn
Dim i As Long
For i = Range("EM_ZS_Löschen_Neuauswahl").Rows.Count To 10 Step -1
If Cells(i, 1) = "y" Then Rows(i).Delete
Next i
Range("EM_E_EZ_Zahlungstermin").Select
Call AlertsEnd
If Range("EM_M_Löschen_zus_EZ")  "z" Then
EM_B_Blöcke_löschen_Einmal.Visible = False
Range("EM_Z_Button_zus_EZ").Rows.Hidden = True
End If
Call AlertsEnd
End Sub
Unter "AlertsBeginn" findet sich ein Allgemeincode:
Sub AlertsBeginn()
With Application
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
End With
End Sub AlertsEnd ebenda ...
Leider sehe ich ständig die zeilenweise Aktualisierung .... kein Plan, warum. Es wird etwas mit der Schleife zu tun haben. Kann man das irgendwie unterbinden? Sieht blöd aus und dauert lange.
Viele Grüße und vielen Dank
Christian

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife und ScreenUpdating
23.11.2021 16:32:29
Luschi
Hallo Christian,
schau mal hier: http://www.office-loesung.de/ftopic523583_0_0_asc.php
und Du wirst feststellen, daß Du eine ganz wichtige Property nicht deaktiviert hast.
Gruß von Luschi
aus klein-Paris
AW: Schleife und ScreenUpdating
23.11.2021 16:53:37
Christian
Meinst du die Kalkulation oder den Cursor? ;)
AW: Schleife und ScreenUpdating
23.11.2021 16:57:01
Luschi
Hallo Cristian,
warum probierst Du es nicht aus und schaust in der Online-Hilfe nach, was die beiden Einstellungen bewirken.
Gruß von Luschi
aus klein.Paris
Tipp: Cursor ist es nicht!, der zeigt nur die Eieruhr an, solange Excel-Vba werkelt.
Anzeige
AW: Schleife und ScreenUpdating
23.11.2021 17:21:57
Christian
Das war auch eher als Scherz gemeint ... hilft aber nicht. Ich sehe immer noch die Aktualisierung jeder Zeile. Auch wenn in Summe das Ganze schneller geworden ist.
AW: Schleife und ScreenUpdating
23.11.2021 17:50:54
Daniel
Hi
bist du beim Googlen auch mal über die Methode gestoßen, wie man Zeilen mit Bedingung auch mit Hilfe der Methode "Duplikate entfernen" löschen kann?
das geht sehr schnell und in einem Schritt, so dass man sofort das Endergebnis sieht auch das "AlertsBeginn/End"?
die Codes dazu wurden hier im Forum schon mehrfach gezeigt, da sollte sich was finden lassen.
aber das Prinzip ist einfach:
per Formel in einer Hilfsspalte alle Zeilen, die gelöscht werden müssen mit 0 markieren und die anderen mit der Zeilennummer: =Wenn(A10="y";0;Zeile())
in die Überschriftenzeile der Hilfsspalte schreibt man ebenfalls die 0 und wendet auf das ganze dann die Menüfunktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN an, mit der Hilfsspalte als Kriteriumsspalte und der Option "keine Überschrift" (wobei die Überschriftenzeile im Umfang mit dabei sein muss)
Gruß Daniel
Anzeige
AW: Schleife und ScreenUpdating
23.11.2021 18:22:55
Christian
Hi und vielen Dank. Das mit der Hilfsspalte hatte ich mir auch schon überlegt, fand die Lösung aber nicht so richtig schön, weil mich eigentlich nur das ScreenUpdating nervt und sonst nichts.
AW: Schleife und ScreenUpdating
23.11.2021 19:05:11
Daniel
ob schön oder nicht ist egal.
es muss funktionieren.
wenn du die Hilfsspalte hinterher wieder löschst (was du ja über das Makro genauso problemlos machen kannst wie die Hilfsspalte einfügen), dann siehst du keinen Unterschied zu deiner Vorgehensweise, außer dass es rasend schnell geht, nicht flackert und auch mit größten Exceltabellen mit 1 Mio Zeilen problemlos funktioniert.
Die Methode sollte man sich auch deshalb merken, weil man sie auch ohne Makro dh "von Hand" anwenden kann um Zeilen mit Bedingung in einer Tabelle zu löschen.
weiterer Vorteil, du hast keine Schleife.
Wenn du mal längere Makros schreibst, die du im Einzelstepmodus testen willst, dann ist es sehr angehem beim durchtickern der einzelnen Zeilen, wenn man keine Schleifen hat.
Gruß Daniel
Anzeige
AW: Schleife und ScreenUpdating
24.11.2021 12:55:43
Christian
Hallo Daniel. Hab mir das mal angeschaut. Ist interessant. So wie beschrieben habe ich es noch nicht versucht. Werde ich mal ausprobieren. Vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige