öffentlich
Redaktion Druckversion

VBA lernen - Excel 2007/2010 (6)

Eigene Dialoge (Forms)

Dialog (UserForm) und Befehlsschaltflächen (Buttons)

Dialog (UserForm)

Dialoge, so genannte UserForms, werden ähnlich wie ein neuer Modul im VBA-Editor eingefügt. "Einfügen" - "UserForm".

Neue UserForm

Die Steuerelemente werden in der Werkzeugsammlung angezeigt. Notfalls machen Sie sich diese Auswahl sichtbar über "Ansicht" - "Werkzeugsammlung". Sie können die Größe der Fläche der UserForm an den seitlichen Ziehflächen verändern. Einen eigenen Namen geben Sie dem zukünftigen Dialog im Eigenschaftsfenster unter dem Feld Name ein. Alle Eigenschaften des Dialogs sehen Sie im Eigenschaftsfenster.

Dialog und Eigenschaftsfenster

Im Feld (Name) geben Sie der Userform einen eigenen Namen, unter dem Sie die auf Userform zugreifen können. Der Eintrag vom Feld Caption wird im Titel angezeigt.

Dialog anzeigen

In einer Prozedur machen Sie eine Userform für die Bedienung sichtbar mit
UserFormname.show. z.B. Dialog1.Show
Die UserForm wird geladen und gezeigt (Modul1 der Lösungsdatei).

Sub Dialog1zeigen()
Dialog1.Show
End Sub

Mit Unload UserFormname z.B. Unload Dialog1 bzw. Unload Me wird die Userform aus dem Speicher entfernt und damit nicht mehr angezeigt (Modul1 der Lösungsdatei).

Sub dialog1entfernen()
Unload Dialog1
End Sub

Den Dialog können Sie beim Öffnen automatisch mit Voreinstellungen einrichten, man nennt diesen Vorgang auch "initialisieren". Damit wird festgelegt, wie aktuelle Daten für Steuerelemente angezeigt werden. Sie gelangen zum Schreiben der Initialisierungsprozedur durch Doppelklick auf die Oberfläche Ihres Entwurfs Ihrer UserForm.

Im Feld Prozedur wählen Sie Initialize.

Beispielsweise kann der Titeltext Ihrer UserForm das aktuelle Datum anzeigen.

Private Sub UserForm_Initialize()
Me.Caption = "Erster Dialog " & Date
End Sub

Dialog mit aktuellem Datum

Den Dialog können Sie momentan nur über das X im Dialogtitel schließen.

Befehlsschaltflächen (Buttons)

Befehlsschaltflächen des Dialogs können mit Ereignisroutinen gewünschte Aktionen ausführen. Ziehen Sie zunächst eine Befehlsschaltfläche auf Ihren Dialog.

Befehlsschaltfläche auf die UserForm ziehen

Klicken Sie einfach auf die Befehlsschaltfläche und geben Sie ihr sowohl einen erkennbaren Namen für den späteren Zugriff durch Ihre Prozedur als auch ein sinnvolles "Caption" (eine sichtbare Beschriftung).

Name und Caption einer Befehlsschaltfläche

Das obige Button heißt CommandButtonBeenden und trägt die sichtbare Beschriftung Beenden.

Die Größe des Steuerelements lässt sich durch Ziehen an den Ziehflächen verändern. Ebenso können Sie die Position der Befehlsschaltfläche durch Ziehen an ihrem Rand (nicht an den Ziehflächen!) bestimmen.

Über Doppelklick auf ein Steuerelement kommen Sie zu den anwendbaren Ereignisprozeduren, wie Sie auf dem folgenden Bild erkennen können.

Ausgewählte Click-Ereignisprozedur

Als Reaktion tragen Sie jetzt Unload Dialog1 oder Unload Me ein. Me steht immer für den Namen des aktuellen Dialogs; das schreibt sich schneller und man darf beim Codieren sogar den Namen des Dialogs vergessen haben.

Private Sub CommandButtonBeenden_Click()
MsgBox "Tschüß!"
Unload Me
End Sub

Wenn Sie den Dialog mit der Prozedur Dialog1zeigen vom Modul1 der Lösungsdatei aufrufen, können Sie ihn durch Klick auf die Befehlsschaltfläche Beenden jetzt schließen.

Als Mitglied können Sie diesen Beitrag weiterlesen!

Werden Sie Mitglied und testen Sie akademie.de 14 Tage lang kostenlos!

In den ersten 14 Tagen haben Sie Zugriff auf alle Inhalte auf akademie.de, außer Downloads. Sie können in dieser Zeit ohne Angabe von Gründen stornieren. Eine E-Mail an service@akademie.de genügt. Nur wenn Sie Mitglied bleiben, wird der Mitgliedsbeitrag nach Ende der 14tägigen Stornofrist abgebucht.

Ich bin bereits Mitglied
Jetzt Mitglied werden und akademie.de 14 Tage kostenlos testen
Ich entscheide mich für folgende Zahlungsweise:
14 Tage Stornorecht:
Ich kann meine Mitgliedschaft in den ersten 14 Tagen jederzeit formlos stornieren, z.B. per E-Mail an service@akademie.de.

Inhalt

Downloads zu diesem Beitrag

Über den Autor:

bild117282

Dieter Frommhold, Jahrgang 1943, Diplom-Lehrer für Physik und Mathematik, Verlagslektor und Programmierer. Seit 1971 langjährige Lehrtätigkeit über Betriebssysteme und Programmierung.

Ab 1994 arbe ...

Newsletter abonnieren