ich will alle Zeilen in einem Tabellenbereich löschen (und danach die Zeilen wieder neu befüllen).
Ich mache dies per VBA und benutze denselben Code, der mir per Macro-Recorder gezeigt wurde. Manuell ging das absolut rasant: Bereich (Tabellen-Name) markiert, Zeilen löschen... Schwupps.
Per VBA (Loop) geht das ok, aber bei mehr als 1000 Zeilen doch ziemlich langsam.
Ich habe ScreenUpdate und Calculation ausgeschaltet.
Muss ich noch andere Sachen ausschalten?
Pivot-Tabellen, die sich auf diese Tabelle1 beziehen werden ggf. laufend aktualisiert?
Mein VBA-Code:
With Tabelle1 ' Arbeitsblatt
max = ... diese Zahl hole ich aus einer anderen Zelle, die laufend nachgeführt wird
Call doWait (Cursor auf Wait, ScreenUpdate ausschalten, Calculation aus)
Application.Goto Reference:="TabDatenImport"
For zae = 1 To max
Selection.ListObject.ListRows(1).Delete
Next zae
MsgBox "Fertig"
Call stopWait (alles wieder einschalten)
Diese Sub benötigt eine deutlich sichtbar lange Zeit... stört mich zwar nicht, aber ein anderer User wird da ggf. bereits nervös ;-)
Vielen Dank für einen Experten-Rat
Gruss,
Liliane