Excel VBA-Benutzerformular mit mehreren Seiten - Einfache Excel-Makros

Inhaltsverzeichnis

Im Folgenden sehen wir uns ein Programm in Excel VBA an, das ein Benutzerformular erstellt, das mehrere Seiten enthält. Dieses Benutzerformular enthält auch Bilder.

Das Multipage Control enthält zwei Seiten. Auf Seite 1 kann der Benutzer seine persönlichen Daten eingeben. Auf Seite 2 kann der Benutzer angeben, welches Gemälde ihm am besten gefällt.

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.

3. Fügen Sie das Multipage-Steuerelement, die Beschriftungen, die Textfelder (zuerst oben, das zweite unter dem ersten), den Rahmen, die Optionsfelder (das erste links, das zweite rechts), das Listenfeld, das Bildsteuerelement und die Befehlsschaltfläche hinzu. Sobald dies abgeschlossen ist, sollte das Ergebnis mit der zuvor angezeigten leeren Version des Benutzerformulars übereinstimmen. Erstellen Sie beispielsweise ein Multipage-Steuerelement, indem Sie in der Toolbox auf Multipage klicken. Als Nächstes können Sie ein Multipage-Steuerelement auf das Benutzerformular ziehen. Wenn Sie beim Geschlechterrahmen ankommen, denken Sie daran, diesen Rahmen zuerst zu zeichnen, bevor Sie die beiden Optionsschaltflächen darin platzieren.

4. Sie können die Namen und Beschriftungen der Steuerelemente ändern. Namen werden im Excel VBA-Code verwendet. Untertitel sind die, die auf Ihrem Bildschirm erscheinen. Es hat sich bewährt, die Namen der Steuerelemente zu ändern, aber dies ist hier nicht erforderlich, da wir in diesem Beispiel nur wenige Steuerelemente haben. Um die Beschriftung des Benutzerformulars, der mehrseitigen Registerkarten, der Beschriftungen, des Rahmens, der Optionsschaltflächen und der Befehlsschaltfläche zu ändern, klicken Sie auf Ansicht, Eigenschaftenfenster und klicken Sie auf jedes Steuerelement.

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

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

Wir werden jetzt die Sub UserForm_Initialize erstellen. Wenn Sie die Show-Methode für das Userform verwenden, wird dieses Sub automatisch ausgeführt.

6. Öffnen Sie den Visual Basic-Editor.

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

8. Wählen Sie Benutzerformular aus der linken Dropdown-Liste. Wählen Sie Initialisieren aus der rechten Dropdown-Liste.

9. Fügen Sie die folgenden Codezeilen hinzu:

Private Sub UserForm_Initialize()
Mit ListBox1
.AddItem "Berge"
.AddItem "Sonnenuntergang"
.AddItem "Strand"
.AddItem "Winter"
Ende mit
End Sub

Erläuterung: Das Listenfeld auf Seite 2 wird gefüllt.

Wir haben nun den ersten Teil des Userform erstellt. Obwohl es bereits ordentlich aussieht, passiert noch nichts, wenn wir ein Element aus der Listbox auswählen oder auf die Schaltfläche OK klicken.

10. Laden Sie die Bilder herunter (rechte Seite dieser Seite) und fügen Sie sie zu "C:\test\" hinzu.

11. Doppelklicken Sie im Projekt-Explorer auf UserForm1.

12. Doppelklicken Sie auf das Listenfeld.

13. Fügen Sie die folgenden Codezeilen hinzu:

Private untergeordnete ListBox1_Click()
Wenn ListBox1.ListIndex = 0 Then
Image1.Picture = LoadPicture("C:\test\Mountains.jpg")
Ende Wenn
Wenn ListBox1.ListIndex = 1 Then
Image1.Picture = LoadPicture("C:\test\Sunset.jpg")
Ende Wenn
Wenn ListBox1.ListIndex = 2 Then
Image1.Picture = LoadPicture("C:\test\Beach.jpg")
Ende Wenn
Wenn ListBox1.ListIndex = 3 Then
Image1.Picture = LoadPicture("C:\test\Winter.jpg")
Ende Wenn
End Sub

Erklärung: Diese Codezeilen laden je nach ausgewähltem Eintrag im Listenfeld ein Bild.

14. Doppelklicken Sie auf die Schaltfläche OK.

15. Fügen Sie die folgenden Codezeilen hinzu:

Private Sub CommandButton1_Click()
Leere Zeile so lang dimmen
'Blatt1 aktiv machen
Blatt1.Aktivieren
'LeereReihe ermitteln
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
'Informationen übertragen
Cells(emptyRow, 1).Value = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value
Wenn OptionButton1.Value = True Then
Cells(emptyRow, 3).Wert = "Männlich"
Anders
Cells(emptyRow, 3).Wert = "Weiblich"
Ende Wenn
Cells(emptyRow, 4).Value = ListBox1.Value
'Benutzerformular schließen
Entlade mich
End Sub

Erklärung: Zuerst aktivieren wir Sheet1. Als nächstes bestimmen wir emptyRow. Die Variable emptyRow ist die erste leere Zeile und wird jedes Mal erhöht, wenn ein Datensatz hinzugefügt wird. Als nächstes übertragen wir die Informationen aus dem Userform in die spezifischen Spalten von emptyRow. Abschließend schließen wir das Userform.

16. Beenden Sie den Visual Basic Editor, geben Sie die unten gezeigten Beschriftungen in Zeile 1 ein und testen Sie das Userform.

Ergebnis:

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

wave wave wave wave wave