Excel VBA Mauszeiger als Sanduhr darstellen

Wenn Sie ein Makro starten, dann ist es für den Benutzer manchmal etwas schwierig zu erkennen, ob noch etwas passiert oder ob eventuell das Programm abgestürzt sein könnte. Um den User hierbei zu unterstützen, verändert man den Mauszeiger. Wie Sie den VBA Mauszeiger als Sanduhr darstellen, erfahren Sie hier.

Hierzu wird innerhalb des Programms eine Zeile eingefügt, die den Cursor, also den Mauszeiger, verändert. Ob dies die Sanduhr ist oder eine andere Darstellung, hängt davon ab, welche Einstellung in der Systemsteuerung für den Mauszeiger in der Warteposition definiert worden ist. Hierbei ist es möglich, die Sanduhr als Wartesymbol zu nutzen, aber auch andere Einstellungen sind denkbar. Um nun den Mauszeiger während des Ablaufs umzustellen, fügen Sie folgende Befehlszeile ein:

Application.Cursor = xlWait

Excel VBA Mauszeiger als Sanduhr einstellen

Dabei ist es wichtig, dass Sie den Mauszeiger nach Ablauf des Programms wieder in seine normale Position zurücksetzen. Um dies zu erreichen, fügen Sie am Ende des Programms folgende Befehlszeile ein:

Application.Cursor = xlDefault

Ein komplettes Programm könnte dann wie folgt aussehen:

Sub Mauszeiger()
    Application.Cursor = xlWait
    
    For x = 1 To 100000
        For y = 1 To 10000
        Next
    Next
    
    Application.Cursor = xlDefault
End Sub

Weitere Beispiele zu diesem Thema

Sub Cursor()
    Dim Counter As Long, Column As Integer

    Application.Cursor = xlWait

    For Anzahl = 1 To 10000
        For Column = 1 To 4
            Cells(Anzahl, Column) = "R: " & Anzahl & " C: " & Column
            DoEvents
        Next
    Next
    Application.Cursor = xlDefault
End Sub

Sub Mauszeiger()

  • Mauszeiger in den verschiedensten Ausrichungen anzeigen lassen
    MsgBox "Klicken Sie OK, wenn Sie den Mauszeiger als Sanduhr sehen wollen"
  • Mauszeiger als Sanduhr anzeigen
    Application.Cursor = xlWait
  • Excel anhalten und Zeit einstellen
    Application.Wait Now + TimeValue("0:0:03")
    MsgBox "Click OK to display mouse pointer as arrow."
  • Mauszeiger als I anzeigen
    Application.Cursor = xlIBeam
  • Excel anhalten und Zeit einstellen
    Application.Wait Now + TimeValue("0:0:03")
    MsgBox "Click OK to display mouse pointer as I-beam."
  • Mauszeiger als Arrow anzeigen
    Application.Cursor = xlNorthwestArrow
  • Excel anhalten und Zeit einstellen
    Application.Wait Now + TimeValue("0:0:03")
    MsgBox "Click OK to return mouse pointer to normal."
  • Mauszeiger auf normal zurückstellen
    Application.Cursor = xlNormal

End Sub