Tutorial: Erstellen einer VBA UserForm in Excel
Hier ist ein Schritt-für-Schritt-Tutorial zur Erstellung einer VBA UserForm in Microsoft Excel.
UserForms sind benutzerdefinierte Dialogfenster, die eine professionelle Dateneingabe ermöglichen. In diesem Beispiel erstellen wir eine einfache Form, um einen Namen und eine E-Mail-Adresse in eine Excel-Tabelle einzutragen.
Schritt 1: Den Visual Basic Editor öffnen
- Öffne Excel.
- Drücke
ALT+F11, um den Visual Basic Editor (VBE) zu öffnen. - Falls die Menüleiste oben nicht sichtbar ist, stelle sicher, dass du im Menü unter Ansicht den Projekt-Explorer aktiviert hast.
Schritt 2: Eine UserForm einfügen
- Klicke im Menü auf Einfügen -> UserForm.
- Ein leeres Fenster (UserForm1) und eine Werkzeugsammlung (Toolbox) erscheinen.
- Tipp: Wenn die Werkzeugsammlung nicht sichtbar ist, klicke auf das Symbol mit dem Hammer und dem Schraubenschlüssel in der Symbolleiste.
Schritt 3: Steuerelemente hinzufügen
Ziehe nun folgende Elemente aus der Werkzeugsammlung auf deine UserForm:
- Zwei Bezeichnungsfelder (Labels): Ändere den Text (Caption) in "Name:" und "E-Mail:".
- Zwei Textfelder (TextBoxes): Hier gibt der Nutzer später die Daten ein.
- Eine Befehlsschaltfläche (CommandButton): Ändere die Beschriftung (Caption) auf "Speichern".
Schritt 4: Namen vergeben (Best Practice)
Damit der Code übersichtlich bleibt, solltest du die Steuerelemente im Eigenschaften-Fenster (unten links) umbenennen:
- Erstes Textfeld:
txtName - Zweites Textfeld:
txtEmail - Button:
btnSpeichern
Schritt 5: Den Code schreiben
Jetzt hinterlegen wir die Logik für den Button.
- Mache einen Doppelklick auf die Schaltfläche "Speichern".
- Es öffnet sich das Code-Fenster. Gib folgenden Code ein:
Private Sub btnSpeichern_Click()
Dim letzteZeile As Long
' Die nächste freie Zeile in Tabelle1 finden
letzteZeile = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1
' Daten aus der UserForm in die Zellen schreiben
Sheets("Tabelle1").Cells(letzteZeile, 1).Value = txtName.Value
Sheets("Tabelle1").Cells(letzteZeile, 2).Value = txtEmail.Value
' Bestätigung für den Nutzer
MsgBox "Daten wurden erfolgreich gespeichert!", vbInformation
' Textfelder leeren für die nächste Eingabe
txtName.Value = ""
txtEmail.Value = ""
' Form schließen (optional)
' Unload Me
End Sub
Schritt 6: Die UserForm aufrufen
Damit du die Form aus Excel heraus starten kannst, benötigst du ein normales Modul.
- Klicke im VBE auf Einfügen -> Modul.
- Schreibe folgenden Code hinein:
Sub FormAnzeigen()
UserForm1.Show
End Sub
Schritt 7: Testen
- Gehe zurück zu deinem Excel-Arbeitsblatt.
- Gehe auf den Reiter Entwicklertools (falls nicht sichtbar: Rechtsklick auf das Menüband -> Menüband anpassen -> Haken bei Entwicklertools).
- Klicke auf Makros, wähle
FormAnzeigenund klicke auf Ausführen. - Gib Testdaten ein und klicke auf "Speichern". Die Daten erscheinen nun automatisch in deiner Liste.
Wichtiger Hinweis zum Speichern
Da deine Datei nun Makros enthält, musst du sie unbedingt als Excel-Arbeitsmappe mit Makros (.xlsm) speichern, sonst geht der VBA-Code beim Schließen verloren!
Zusammenfassung der Objekte:
- UserForm: Das Fenster an sich.
- TextBox: Das Eingabefeld.
- Label: Die Beschriftung.
- CommandButton: Der Auslöser für Aktionen.