Verwenden der Statusleiste (Microsoft Excel)
In der Regel verwenden Sie beim Erstellen eines Makros als Erstes einen Befehl, mit dem die Aktualisierung der Bildschirmanzeige deaktiviert wird. Dies geschieht, weil das Makro schneller ausgeführt wird, wenn der Bildschirm nicht aktualisiert werden muss. Wenn dies erledigt ist, ist eines der wichtigsten Dinge, die Sie tun können, dem Benutzer Feedback zu geben, damit er nicht glaubt, dass sein System zum Mittagessen ausgegangen ist.
Eine übliche Methode zur Bereitstellung von Feedback ist die Verwendung der Statusleiste. Bei Verwendung von VBA erfolgt dies mit einer Codezeile ähnlich der folgenden:
Application.StatusBar = "Updating past months..."
In dieser Zeile wird die Meldung Aktualisieren der letzten Monate …__ in der Statusleiste des Anwendungsprogramms angezeigt. Diese Nachricht bleibt dort, bis eine andere Nachricht entweder von Ihrem Makro oder von Excel in die Statusleiste geschrieben wird.
Wenn Sie die Nachricht in der Statusleiste löschen möchten, gibt es zwei Möglichkeiten. Die erste besteht darin, eine leere Zeichenfolge wie im folgenden Code in die Statusleiste zu schreiben:
Application.StatusBar = ""
In diesem Fall befindet sich zwischen den Anführungszeichen nichts, sodass in der Statusleiste eine leere Zeichenfolge angezeigt wird, die alles löscht, was zuvor vorhanden war. Die andere Methode besteht darin, die folgende Zeile zu verwenden:
Application.StatusBar = False
Durch Schreiben des logischen Werts FALSE in die Application.StatusBar-Eigenschaft wird alles gelöscht, was Sie zuvor in die Statusleiste geschrieben haben, und der Standardtext der Statusleiste wird wiederhergestellt.
Die Verwendung der Statusleiste ist in Ordnung und gut, solange die Statusleiste aktiviert ist. Excel kann vom Benutzer so angepasst werden, dass die Statusleiste deaktiviert wird. Wenn dies geschehen ist, können Sie keine Nachrichten in der Statusleiste anzeigen. Die Lösung besteht darin, sicherzustellen, dass die Statusleiste aktiviert ist, bevor Sie versuchen, eine Nachricht anzuzeigen.
Sie können die Anzeige der Statusleiste mithilfe der Application.DisplayStatusBar-Eigenschaft steuern. Wenn Sie diese Eigenschaft auf einen logischen Wert (TRUE oder FALSE) setzen, wird die Statusleiste ein- oder ausgeschaltet.
Betrachten Sie als Beispiel für die Programmierung dieser Art von Prozessen den folgenden Code:
bStatusState = Application.DisplayStatusBar Application.DisplayStatusBar = True Application.StatusBar = "Updating past months..." ' ' Rest of program goes in here ' Application.StatusBar = False Application.DisplayStatusBar = bStatusState
Die allererste Zeile dieses Codes weist der Variablen bStatusState den aktuellen Wert der Statusleiste (TRUE oder FALSE, dh ein oder aus) zu.
Dieselbe Variable wird in der letzten Zeile verwendet, um die Statusleistenbedingung auf ihren ursprünglichen Zustand zurückzusetzen. Dazwischen wird die Statusleiste eingeschaltet und eine Meldung angezeigt und später gelöscht.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2296) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: