Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

VBA-Begriff: Beispiel zur ScreenUpdating-Eigenschaft

In diesem Beispiel wird gezeigt, wie das Deaktivieren der Bildschirmaktualisierung die Ausführung des Makros beschleunigt. Jede zweite Spalte in Sheet1 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 elapsedTime(2)
Application.ScreenUpdating = True
For i = 1 To 2
    If i = 2 Then Application.ScreenUpdating = False
    startTime = Time
    Worksheets("Sheet1").Activate
    For Each c In ActiveSheet.Columns
        If c.Column Mod 2 = 0 Then
            c.Hidden = True
        End If
    Next c
    stopTime = Time
    elapsedTime(i) = (stopTime - startTime) * 24 * 60 * 60
Next i
Application.ScreenUpdating = True
MsgBox "Elapsed time, screen updating on: " & elapsedTime(1) & _
        " sec." & Chr(13) & _
        "Elapsed time, screen updating off: " & elapsedTime(2) & _
        " sec."