Wer kann mir sagen, wie das mit VBA geht?
Vielen Dank im voraus.
Wer kann mir sagen, wie das mit VBA geht?
Vielen Dank im voraus.
In diesem Beispiel wird gezeigt, wie das Deaktivieren der Bildschirmaktualisierung die Ausführung des Makros beschleunigt. Jede zweite Spalte in Tabelle1 wird ausgeblendet, während die für diese Operation benötigte Zeit gespeichert wird. Beim ersten Schleifendurchlauf werden die Spalten ausgeblendet, die Bildschirmaktualisierung ist aktiviert. Beim zweiten Durchlauf ist die Bildschirmaktualisierung deaktiviert. Wenn Sie das Makro ausführen, haben Sie die Möglichkeit, die beiden in einem Meldungsfeld angezeigten Zeiten zu vergleichen.
Dim AbgelaufeneZeit(2)
Application.ScreenUpdating = True
For i = 1 To 2
If i = 2 Then Application.ScreenUpdating = False
ZeitStart = Time
Worksheets("Tabelle1").Activate
For Each c In ActiveSheet.Columns
If c.Column Mod 2 = 0 Then
c.Hidden = True
End If
Next c
ZeitEnde = Time
AbgelaufeneZeit(i) = (ZeitEnde - ZeitStart) * 24 * 60 * 60
Next i
Application.ScreenUpdating = True
MsgBox "Bei aktivierter Bildschirmaktualisierung benötigte Zeit: " & AbgelaufeneZeit(1) & _
" Sek." & Chr(13) & _
"Bei deaktivierter Bildschirmaktualisierung benötigte Zeit: " & AbgelaufeneZeit(2) & _
" Sek."