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