Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
496to500
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
496to500
496to500
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code beschleunigen

Code beschleunigen
10.10.2004 14: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

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 15: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 03: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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige