/ / Durchlaufen Steuerelemente in Excel VBA

Durchlaufen Steuerelemente in Excel VBA

Mit nur ein paar Zeilen Code können wir das einfach Schleife durch Kontrollen auf einem Excel-VBA-Benutzerformular. Die Benutzerform, die wir erstellen werden, sieht folgendermaßen aus:

Durchlaufen Steuerelemente in Excel VBA

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

1. Öffnen Sie den 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.

Benutzerbildschirm Setup in Excel VBA

3. Fügen Sie die Beschriftung, die Kontrollkästchen (zuerst oben, die zweite unter der ersten usw.) und die Befehlsschaltfläche hinzu. Sobald dies abgeschlossen ist, sollte das Ergebnis mit dem zuvor gezeigten Bild des Benutzerformulars übereinstimmen. Erstellen Sie beispielsweise ein Kontrollkästchen, indem Sie in der Toolbox auf CheckBox klicken. Als Nächstes können Sie ein Kontrollkästchen auf dem Benutzerformular ziehen.

4. Sie können die Namen und die Beschriftungen der Steuerelemente ändern. Namen werden im Excel-VBA-Code verwendet. Untertitel sind diejenigen, die auf Ihrem Bildschirm erscheinen. Es empfiehlt sich, die Namen der Steuerelemente zu ändern. Dies ist jedoch nicht erforderlich, da in diesem Beispiel nur wenige Steuerelemente vorhanden sind. Um die Beschriftung von Benutzerformular, Beschriftung, Kontrollkästchen und Befehlsschaltfläche zu ändern, klicken Sie auf Ansicht, Eigenschaftenfenster, und klicken Sie auf jedes Steuerelement.

5. Um das Benutzerformular anzuzeigen, platzieren Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgende Codezeile hinzu:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Wir haben jetzt den ersten Teil des Benutzerformulars erstellt. Obwohl es schon ordentlich aussieht, wird noch nichts passieren, wenn wir auf den Clear-Button klicken.

6. Öffnen Sie den Visual Basic-Editor.

7. Doppelklicken Sie im Projektexplorer auf UserForm1.

8. Doppelklicken Sie auf die Schaltfläche Löschen.

9. Fügen Sie die folgenden Codezeilen hinzu:

Private Sub CommandButton1_Click()

Dim contr As control

For Each contr In UserForm1.Controls
    If TypeName(contr) = "CheckBox" Then
        contr.Value = False
    End If
Next

End Sub

Erläuterung: Excel VBA durchläuft alle Steuerelemente in der Benutzerform. Die TypeName-Funktion wird zum Ausfiltern der Kontrollkästchen-Steuerelemente verwendet. Wenn ein Kontrollkästchen aktiviert ist, deaktiviert Excel VBA das Kontrollkästchen. contr wird hier zufällig ausgewählt, Sie können einen beliebigen Namen verwenden. Denken Sie daran, im Rest Ihres Codes auf diesen Namen zu verweisen.

Ergebnis, wenn Sie auf die Schaltfläche Löschen klicken:

Schleife durch Kontrollen Ergebnis

Lesen Sie auch: