Excel VBA StatusBar-Eigenschaft - Einfache Excel-Makros

Inhaltsverzeichnis

Das StatusBar-Eigenschaft des Anwendungsobjekts in Excel VBA kann verwendet werden, um den Fortschritt eines langen Makros anzuzeigen. Auf diese Weise können Sie dem Benutzer mitteilen, dass noch ein Makro ausgeführt wird.

Lage:

Das Makro, das wir erstellen werden, füllt Range("A1:E20") mit Zufallszahlen.

Fügen Sie der Befehlsschaltfläche die folgenden Codezeilen hinzu:

1. Zuerst deklarieren wir drei Variablen vom Typ Integer mit den Namen i, j und pctCompl.

Dim i As Integer, j As Integer, pctCompl As Integer

2. Fügen Sie eine Doppelschleife hinzu.

Für i = 1 bis 20
Für j = 1 bis 5
Nächstes j
Als nächstes

Fügen Sie der Schleife die folgenden Codezeilen (bei 3, 4 und 5) hinzu.

3. Verwenden Sie die RandBetween-Funktion, um eine Zufallszahl zwischen 20 und 100 zu importieren.

Zellen(i, j).Wert = WorksheetFunction.RandBetween(20, 100)

4. Initialisieren Sie die Variable pctCompl. Die zweite Codezeile schreibt den Wert der Variablen pctCompl und einen beschreibenden Text in die Statusleiste.

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Daten werden importiert… " & pctCompl & "% abgeschlossen"

Beispiel: Für i = 3 ist j = 1, (3 - 1) * 5 + (1 * 1) = 11% abgeschlossen.

5. Wir verwenden die Wait-Methode des Application-Objekts, um ein langes Makro zu simulieren.

Anwendung.Jetzt warten + TimeValue("00:00:01")

6. Um den Standardstatusleistentext wiederherzustellen, legen Sie die StatusBar-Eigenschaft auf False (außerhalb der Schleife) fest.

Application.StatusBar = False

Ergebnis, wenn Sie auf die Befehlsschaltfläche auf dem Blatt klicken:

Hinweis: Sie können ein Makro jederzeit unterbrechen, indem Sie Esc oder Strg + Break drücken. Einen visuelleren Ansatz finden Sie in unserem Fortschrittsindikatorprogramm.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave