Tutorial: Erstellen von UserForms in Excel 2016
Hier ist ein ausführliches Schritt-für-Schritt-Tutorial, wie du in Excel 2016 professionelle Eingabemasken (UserForms) erstellst.
UserForms sind benutzerdefinierte Dialogfelder, die die Dateneingabe in Excel professionalisieren, Fehler minimieren und die Bedienung für den Endanwender vereinfachen.
Schritt 1: Die Registerkarte „Entwicklertools“ aktivieren
Bevor du starten kannst, musst du sicherstellen, dass die Registerkarte für Programmierung sichtbar ist.
- Klicke mit der rechten Maustaste auf ein beliebiges Menüband (z. B. „Start“).
- Wähle Menüband anpassen....
- Setze im rechten Fenster ein Häkchen bei Entwicklertools.
- Bestätige mit OK.
Schritt 2: Den VBA-Editor öffnen
- Klicke auf die Registerkarte Entwicklertools.
- Klicke ganz links auf Visual Basic (oder drücke
ALT+F11).
Schritt 3: Eine UserForm einfügen
- Klicke im VBA-Editor im Menü auf Einfügen.
- Wähle UserForm aus.
- Es erscheint ein leeres Fenster (die Form) und eine Werkzeugsammlung (Toolbox).
Schritt 4: Das Design der Eingabemaske gestalten
In der Werkzeugsammlung findest du verschiedene Steuerelemente. Die wichtigsten sind:
- Bezeichnungsfeld (Label): Für Beschriftungen (z. B. „Name:“).
- Textfeld (TextBox): Hier gibt der Nutzer Daten ein.
- Kombinationsfeld (ComboBox): Ein Dropdown-Menü.
- Befehlsschaltfläche (CommandButton): Zum Speichern oder Abbrechen.
Aktion: Ziehe ein Label, ein Textfeld und einen CommandButton auf deine UserForm.
Wichtig: Eigenschaften benennen
Klicke ein Element an und schaue links unten in das Fenster Eigenschaften.
- Ändere den (Name) des Textfelds auf
txtName. - Ändere den (Name) des Buttons auf
btnSpeichernund die Caption (Beschriftung) aufDaten Speichern.
Schritt 5: Die UserForm programmieren
Damit die Daten beim Klick auf den Button in die Excel-Tabelle übertragen werden, benötigen wir Code.
- Mache einen Doppelklick auf den Button „Daten Speichern“.
- Es öffnet sich das Code-Fenster. Gib folgenden Code ein:
Private Sub btnSpeichern_Click()
Dim nächsteZeile As Long
' Prüfen, ob das Textfeld leer ist
If txtName.Value = "" Then
MsgBox "Bitte geben Sie einen Namen ein!", vbExclamation
Exit Sub
End If
' Die nächste freie Zeile in Tabelle1 finden (Spalte A)
nächsteZeile = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1
' Daten aus dem Textfeld in die Zelle schreiben
Sheets("Tabelle1").Cells(nächsteZeile, 1).Value = txtName.Value
' Textfeld leeren für die nächste Eingabe
txtName.Value = ""
' Bestätigung
MsgBox "Daten erfolgreich gespeichert!", vbInformation
End Sub
Schritt 6: Die UserForm aufrufen
Damit der Nutzer die Maske bequem starten kann, erstellen wir ein Makro.
- Gehe im VBA-Editor auf Einfügen -> Modul.
- Schreibe folgenden Code hinein:
Sub ZeigeMaske() UserForm1.Show End Sub - Gehe zurück zu Excel.
- Einfügen eines Buttons: Entwicklertools -> Einfügen -> Schaltfläche (Formularsteuerelement).
- Ziehe den Button auf das Blatt und weise ihm das Makro
ZeigeMaskezu.
Schritt 7: Datei richtig speichern
Da deine Datei nun Makros enthält, musst du sie im richtigen Format speichern:
- Gehe auf Datei -> Speichern unter.
- Wähle als Dateityp Excel-Arbeitsmappe mit Makros (.xlsm).
Zusammenfassung der Tipps:
- Übersichtlichkeit: Nutze Labels, um dem Nutzer genau zu sagen, was er tun soll.
- Validierung: Prüfe vor dem Speichern immer, ob alle Pflichtfelder ausgefüllt sind (wie im Code-Beispiel gezeigt).
- Tab-Reihenfolge: Über die Eigenschaft
TabIndexkannst du steuern, in welcher Reihenfolge der Cursor springt, wenn der Nutzer dieTab-Taste drückt.