TOP

VBA-Lektion 12.1. Benutzerformulare (UserForm)

Ein UserForm-Objekt ist ein Fenster oder Dialogfeld, das Teil der Benutzeroberfläche einer Anwendung ist.

UserForm ermöglicht Ihnen das Erstellen von Fenstern oder Dialogfeldern in Ihrem Projekt. Auf dem Formular können Sie die Steuerelemente zeichnen und sehen.

Benutzerformulare verfügen über Eigenschaften, die ihr Erscheinungsbild definieren, z. B. Position, Größe, Farbe und Aspekte ihres Verhaltens.

Bei der Entwicklung des Formulars:

  • Jedes Formularfenster verfügt über die Schaltflächen „Minimieren“, „Erweitern“ und „Schließen“.
  • Sie können das Formraster anzeigen und die Rasterlinien auf der Registerkarte „Allgemein“ des Dialogfelds „Optionen“ anpassen.
  • Verwenden Sie die Schaltflächen in der Symbolleiste, um Steuerelemente auf dem Formular zu zeichnen. Auf der Registerkarte „Allgemein“ des Dialogfelds „Optionen“ können Sie die Steuerelemente anpassen, um sie am Formularraster auszurichten.

  • Formular erstellen (UserForm)

    Um UserForm hinzuzufügen, müssen wir dasselbe tun, wenn wir ein neues Modul hinzufügen:

    Danach erscheinen das Formular (UserForm) und die Symbolleiste (Toolbox):

    Wenn Sie das Eigenschaftenfenster (Properties) nicht sehen, stellen Sie sicher, dass es angezeigt wird, und bearbeiten Sie dann zunächst den Namen UserForm (damit Sie ihn später leicht finden können):

    Ein Formular (UserForm) hat seine eigenen Ereignisse, genau wie eine Arbeitsmappe oder ein Blatt. Um ein Ereignis hinzuzufügen, doppelklicken Sie auf UserForm.

    Lassen Sie uns nun zwei Ereignisse erstellen, um zu sehen, wie das funktioniert. Das erste Ereignis legt die Anfangsgröße von UserForm fest und das zweite erhöht seine Größe um 50 Pixel, wenn der Benutzer darauf klickt.

    Das UserForm_Initialize-Ereignis wird ausgelöst, wenn UserForm startet:

    Private Sub UserForm_Initialize()
        my_userform.Height = 100
        my_userform.Width  = 100
    End Sub
    

    Um den Code zu vereinfachen, können wir Me anstelle des Namens UserForm verwenden (da sich dieser Code in dem UserForm befindet, mit dem wir arbeiten):

    Private Sub UserForm_Initialize()
        Me.Height = 100
        Me.Width  = 100
    End Sub
    

    Das zweite Ereignis tritt ein, wenn der Benutzer auf UserForm klickt:

    Private Sub UserForm_Initialize()
        Me.Height = 100
        Me.Width  = 100
    End Sub
    
    Private Sub UserForm_Click()
        Me.Height = Me.Height + 50
        Me.Width  = Me.Width + 50
    End Sub
    

    Startformular (UserForm)

    Um UserForm in einer Prozedur auszuführen, verwenden Sie Show:

    Sub show_userform()
         my_userform.Show
    End Sub