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

Code beschleunigen

Forumthread: Code beschleunigen

Code beschleunigen
10.10.2004 16:58:40
VolkerM
Hallo
Habe habe folgendes Marko zum bedingten Löschen von Einträgen innerhalb eines Bereiches erstellt:

Private Sub Worksheet_Activate()
Dim I As Integer
Dim K As Integer
For I = 5 To 19
For K = 2 To 32
If (Cells(3, K).Value = "." _
Or Cells(3, K).Value = "-") Then
Cells(I, K).ClearContents
End If
Next
Next
End Sub

Es funktioniert auch soweit, nur leider benötigt es doch ne ganze Zeit.
Kann man die Ausführung beschleunigen ?
Vielen Dank im Voraus.
Gruß Volker
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code beschleunigen
Ulf
Der Code dauert bei mir 0,001 Sekunden. Da muss bei dir was an der Datei verbogen sein.
Ulf
AW: Code beschleunigen
10.10.2004 17:21:40
VolkerM
Hallo Ulf
Danke für deine Mühe.
Gruß Volker
AW: Code beschleunigen
TE
Hi Volker,
versuch doch mal folgendes:
unabhängig vom Code (vermeide z.B. SELECT) kannst Du diesen stark beschleunigen, indem Du die Bildschirmaktualisierung während der Ausführung ausschaltest, dasselbe mit der automatischen Berechnung. Am Ende natürlich wieder einschalten:

Sub kzflkgh()
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
Dein Code
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.Calculate
End With
End Sub

Anzeige
AW: Code beschleunigen
11.10.2004 05:26:55
VolkerM
Hallo Peter; Hallo TE
Kann leider erst jetzt antworten.
Habe beide Vorschläge angenommen.
Jetzt läuft der Code deutlich unter einer Sekunde ab.
Vielen Dank
Gruß Volker
AW: Code beschleunigen
PeterW
Hallo Volker,
ich kann icht sehen, was die äußere Schleife soll. Statt die Zellen einzeln zu löschen kannst du direkt den gesamten Bereich ansprechen.
Dim K As Integer
For K = 2 To 32
If (Cells(3, K).Value = "." _
Or Cells(3, K).Value = "-") Then
Range(Cells(5, K), Cells(19, K)).ClearContents
End If
Next
Gruß
Peter
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18