Wie eine Nachricht auf dem Excel-Statusleiste Mit VBA anzeigen
Die Statusleiste in Excel kann als Codemonitor verwendet werden. Wenn Ihr VBA-Code lang ist und Sie mehrere Aufgaben mit VBA ausführen, deaktivieren Sie häufig die Bildschirmaktualisierung, damit dieser Bildschirm nicht flackert. Aus diesem Grund erfahren Sie jedoch nicht, was in Ihrem Code vor sich geht.
Wenn Sie nicht wissen, wo sich die Statusleiste in Excel befindet, finden Sie hier:
Sie können eine Excel-Statusleiste verwenden, um Informationen aus Excel abzurufen, ohne die Ausführung von Code zu beeinträchtigen. Sie können Stufen Ihres Marco in der Statusleiste anzeigen oder als Fortschrittsanzeige verwenden.
VBA-Code zum Anzeigen von Meldungen in der Statusleiste von Excel
Application.StatusBar = "Message"
StatusBar ist eine Eigenschaft des Anwendungsobjekts, die Text als Eingabe verwendet.
In diesem Beispiel zeige ich nur, welche Funktion ausgeführt wird …
Sub DisplayMessageOnStatusBar() Application.ScreenUpdating = False Application.StatusBar = "Calling function one " ' call function_1 Application.Wait (Now + TimeValue("00:00:2")) Application.StatusBar = "Calling function two" 'Call function_2 Application.Wait (Now + TimeValue("00:00:2")) Application.StatusBar = "Calling function Three" 'Call function_3 Application.Wait (Now + TimeValue("00:00:2")) Application.StatusBar = "" Application.ScreenUpdating = True End Sub
In diesem Beispiel ist die Bildschirmaktualisierung am Anfang auf False gesetzt.
Bevor ich die Funktion_1 aufrufe, zeige ich eine Nachricht an, die die Funktion eins aufruft.
Application.Wait (Now + TimeValue („00: 00: 2“)) Diese Codezeile dient nur zum Fälschen eines längeren Funktionsaufrufs, sodass ich 2 Sekunden Zeit habe, dies in meiner Statusleiste anzuzeigen.
Ich habe es vor allen Funktionsaufrufen gemacht und am Ende die Statusleiste auf leer („“) gesetzt.
Die Statusleisten-Nachrichten sind sehr nützlich, um Nachrichten anzuzeigen, während Sie mit langem Code arbeiten. Wenn Ihr Code mehrere Phasen durchläuft oder eine lange Schleife ausführt, können Sie dies in der Statusleiste anzeigen, damit der Benutzer weiß, dass der Code ausgeführt wird. Andernfalls könnte der Benutzer denken, dass das System hängen geblieben ist oder so.
Mit diesem Einzeiler können Sie jetzt mithilfe von VBA von Excel 2016, 2013, 2010 und 2007 intelligent Informationen zur Statusleiste abrufen.
ALTER POST
Bestimmte vba-Makros / -Codes benötigen viel Zeit, um die erforderlichen Aktionen auszuführen oder auszuführen. Wenn Sie die Bildschirmaktualisierung über die Zeile Application.ScreenUpdating = False am Anfang Ihres Codes deaktiviert haben, weiß ein Benutzer, der den Code ausführt, nicht, was vor sich geht, und denkt, dass das Computersystem nicht reagiert Bitten Sie den Code, eine Statusmeldung in der Statusleiste anzuzeigen, damit der Benutzer über den aktuellen Status des Codes informiert wird.
Hier ist ein einfacher Code, der ein Meldungsfeld mit den Werten in Spalte A ab Zeile 2 bis zur letzten Zeile enthält. In der Statusleiste wird die Meldung „Makro wird ausgeführt“ angezeigt, während der Code ausgeführt wird. Sobald der Code fertig ist, wird er angezeigt zeigt „Bereit“ an, eine der Standard-Excel-Nachrichten.
Option Explicit Sub macro1() Dim i As Long, lrow As Long Application.ScreenUpdating = False Application.DisplayAlerts = False Application.DisplayStatusBar = True With Worksheets(“Sheet1”) lrow = .Range(“A” & .Rows.Count).End(xlUp).Row For i = 2 to lrow Application.StatusBar = “Macro running” Msgbox .Range(“A” &i).Value Next i End With Application.StatusBar = “” Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
Um den obigen Code in Ihre Datei zu kopieren, * drücken Sie Alt + F11 auf der Tastatur.
-
Auf der linken Seite sehen Sie Microsoft Excel-Objekte.
-
Klicken Sie mit der rechten Maustaste und wählen Sie Einfügen.
-
Klicken Sie dann auf Modul.
-
Kopieren Sie den Code in das Codefenster rechts.
Sie können den Code im folgenden Modul sehen –
Lassen Sie uns nun verstehen, was jede Codezeile bewirkt. Zuerst setzen wir DISPLAYSTATUSBAR auf true und dann setzen wir die Nachricht für die Statusleiste. Sobald wir _Application.StatusBar = “” _ am Ende des Codes verwenden, wird auf zurückgesetzt Die Standard-Excel-Nachricht lautet READY.
Hier ist ein Bild der Statusleiste, während das Makro ausgeführt wird.
Nach Abschluss des Makros wird in der Statusleiste Folgendes angezeigt:
Auf ähnliche Weise können Sie die Statusleiste an verschiedenen Stellen des Codes aktualisieren, sodass der Benutzer weiß, was während der Ausführung des Makros geschieht.
Manchmal gibt es ein oder mehrere Makros, die mehrere Prozesse abdecken, und diese Statusleiste ist hilfreich, um zu wissen, bei welchem Prozess das Makro angekommen ist.
Wenn Ihnen unsere Blogs gefallen haben, teilen Sie sie Ihren Freunden auf Facebook mit. Sie können uns auch auf Twitter und Facebook folgen.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern, ergänzen oder innovieren und für Sie verbessern können. Schreiben Sie uns an [email protected]
Beliebte Artikel:
link: / Tastatur-Formel-Verknüpfungen-50-Excel-Verknüpfungen-zur-Steigerung-Ihrer-Produktivität [50 Excel-Verknüpfungen zur Steigerung Ihrer Produktivität]
link: / formeln-und-funktionen-einführung-der-vlookup-funktion [Verwendung der VLOOKUP-Funktion in Excel]
link: / tips-countif-in-microsoft-excel [Verwendung der COUNTIF-Funktion in Excel]
link: / excel-formel-und-funktion-excel-sumif-funktion [Verwendung der SUMIF-Funktion in Excel]