Tutorial: Erstellen einer VBA UserForm in Excel

Melden

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

  1. Öffne Excel.
  2. Drücke ALT + F11, um den Visual Basic Editor (VBE) zu öffnen.
  3. 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

  1. Klicke im Menü auf Einfügen -> UserForm.
  2. Ein leeres Fenster (UserForm1) und eine Werkzeugsammlung (Toolbox) erscheinen.
  3. 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:

  1. Zwei Bezeichnungsfelder (Labels): Ändere den Text (Caption) in "Name:" und "E-Mail:".
  2. Zwei Textfelder (TextBoxes): Hier gibt der Nutzer später die Daten ein.
  3. 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.

  1. Mache einen Doppelklick auf die Schaltfläche "Speichern".
  2. 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.

  1. Klicke im VBE auf Einfügen -> Modul.
  2. Schreibe folgenden Code hinein:
Sub FormAnzeigen()
    UserForm1.Show
End Sub

Schritt 7: Testen

  1. Gehe zurück zu deinem Excel-Arbeitsblatt.
  2. Gehe auf den Reiter Entwicklertools (falls nicht sichtbar: Rechtsklick auf das Menüband -> Menüband anpassen -> Haken bei Entwicklertools).
  3. Klicke auf Makros, wähle FormAnzeigen und klicke auf Ausführen.
  4. 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.
0