300 Beispiele

Fortschrittsanzeige

Progress Indicator

Im Folgenden sehen wir uns ein Programm in an Excel VBA das schafft a Fortschrittsanzeige . Wir haben die Fortschrittsanzeige so einfach wie möglich gehalten, aber sie sieht professionell aus. Sind Sie bereit?





Die Userform, die wir erstellen werden, sieht wie folgt aus:

Fortschrittsanzeige in Excel VBA





Führen Sie die folgenden Schritte aus, um dieses Benutzerformular zu erstellen.

1. Öffnen Sie die Visual Basic-Editor . Wenn der Projekt-Explorer nicht sichtbar ist, klicken Sie auf Ansicht, Projekt-Explorer.



2. Klicken Sie auf Einfügen, Benutzerformular. Wenn die Toolbox nicht automatisch angezeigt wird, klicken Sie auf Ansicht, Toolbox. Ihr Bildschirm sollte wie folgt eingerichtet sein.

Benutzerformular-Bildschirmeinrichtung in Excel VBA

Dieses Userform besteht nur aus drei Controls. Ein Frame-Steuerelement und zwei Label-Steuerelemente.

3. Fügen Sie das Rahmensteuerelement hinzu. Sie können dies tun, indem Sie in der Toolbox auf Frame klicken. Als Nächstes können Sie ein Frame-Steuerelement auf das Benutzerformular ziehen. Sie müssen einige Eigenschaften dieses Rahmensteuerelements ändern. Klicken Sie mit der rechten Maustaste auf das Rahmensteuerelement und klicken Sie dann auf Eigenschaften. Leeren Sie das Feld Beschriftung, setzen Sie die Höhe auf 24 und die Breite auf 204.

4. Fügen Sie das erste Label-Steuerelement hinzu, und platzieren Sie es in dem Frame-Steuerelement. Klicken Sie mit der rechten Maustaste auf das Label-Steuerelement, und klicken Sie dann auf Eigenschaften. Ändern Sie den Namen in Bar, BackColor in Highlight, leeren Sie das Caption-Feld, setzen Sie Height auf 20 und Width auf 10.

5. Fügen Sie das zweite Label-Steuerelement hinzu, und platzieren Sie es über dem Frame-Steuerelement. Klicken Sie mit der rechten Maustaste auf das Label-Steuerelement, und klicken Sie dann auf Eigenschaften. Ändern Sie den Namen in Text und ändern Sie die Beschriftung in '0% abgeschlossen'.

6. Ändern Sie die Beschriftung des Benutzerformulars in Fortschrittsanzeige.

Sobald dies abgeschlossen ist, sollte das Ergebnis mit dem zuvor gezeigten Bild des Benutzerformulars übereinstimmen.

7. Platzieren Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt, und fügen Sie die folgende Codezeile hinzu, um das Benutzerformular anzuzeigen:

Privatgelände SubCommandButton1_Click()

UserForm1.Show

Ende Sub

Wenn Sie die anderen Userform-Beispiele auf dieser Site durchgegangen sind, wissen Sie, dass dies die Zeit ist, die Sub UserForm_Initialize zu erstellen. Dieses Sub wird automatisch ausgeführt, wenn das Benutzerformular geladen wird. Wenn Sie also die Show-Methode für das Userform verwenden, wird der Code automatisch ausgeführt. Anstelle von Sub UserForm_Initialize erstellen wir die Sub UserForm_Activate. Durch die Verwendung dieses Unterordners kann Excel VBA das Benutzerformular aktualisieren, um den Fortschritt des Makros anzuzeigen.

8. Öffnen Sie die Visual Basic-Editor .

9. Klicken Sie in dem Projekt-Explorer mit der rechten Maustaste auf UserForm1 und klicken Sie dann auf Code anzeigen.

10. Wählen Sie Benutzerformular aus der linken Dropdown-Liste. Wählen Sie Aktivieren aus der rechten Dropdown-Liste.

11. Fügen Sie die folgende Codezeile hinzu:

Privatgelände SubUserForm_Activate()

Code

Ende Sub

Erklärung: Dieses Sub ruft ein weiteres Sub namens Code auf, das wir gleich erstellen werden. Verwirrt? Sie können durch unsere Funktion und Sub Kapitel, um mehr über Subs zu erfahren. Wenn Sie es eilig haben, führen Sie einfach die folgenden Schritte aus und alles wird gut.

12. Platzieren Sie den benannten Untercode in einem Modul (klicken Sie im Visual Basic-Editor auf Einfügen, Modul). Dies ist nur ein Beispiel. Dies ist DER Ort, um Ihren eigenen Code hinzuzufügen, wenn Sie diese Fortschrittsanzeige für Ihr eigenes Makro verwenden möchten. Der Code sieht wie folgt aus.

SubCode()

KeinerichWie Ganze Zahl, JWie Ganze Zahl, pctKompWie Einzel

Sheet1.Cells.Clear

Zumich = 1Zu100
Zumj = 1Zu1000
Zellen(i, 1).Wert = j
NächsteJ
pctCompl = i
Fortschritt pctCompl
Nächsteich

Ende Sub

Erklärung: Zuerst initialisieren wir einige Variablen. Als nächstes löschen wir Blatt1. Wir verwenden eine Doppelschleife, um die Werte von 1 bis 1000 in den ersten 100 Zeilen des Arbeitsblatts anzuzeigen. Dies wird Excel VBA eine Weile beschäftigen und uns die Möglichkeit geben, den Fortschritt des Makros zu sehen. Die Variable pctCompl (Abkürzung für PercentageCompleted) misst den Fortschritt des Makros. Schließlich rufen wir ein weiteres Sub namens progress auf und übergeben den Wert der Variablen pctCompl, um das Userform zu aktualisieren. Auf diese Weise können wir den Fortschritt des Makros sehen!

13. Fügen Sie ein weiteres Unter namens progress hinzu. Der Code sieht wie folgt aus:

SubFortschritt (pctComplWie Einzel)

UserForm1.Text.Caption = pctCompl & '% abgeschlossen'
UserForm1.Bar.Width = pctCompl * 2

DoEvents

Ende Sub

Erläuterung: Die erste Codezeile ändert die Beschriftung des ersten Label-Steuerelements. Die zweite Codezeile ändert die Breite des zweiten Label-Steuerelements. Fügen Sie DoEvents hinzu, um das Benutzerformular zu aktualisieren.

14. Beenden Sie den Visual Basic-Editor und klicken Sie auf die Befehlsschaltfläche auf dem Blatt:

Ergebnis:

Ergebnis der Fortschrittsanzeige

Hinweis: Für dieses Makro haben wir die Variable i verwendet, um den Fortschritt zu messen. In Zeile 11 sind beispielsweise 10 % abgeschlossen. Dies kann bei Ihrem Makro anders sein. Die Methode, den Wert der Variablen pctCompl an den Unterfortschritt zu übergeben, um das Benutzerformular zu aktualisieren, bleibt gleich.

wie man Variationskoeffizienten in Excel macht

4/11 abgeschlossen! Erfahren Sie mehr über Benutzerformulare >
Gehe zum nächsten Kapitel: Bereich



^