Herbers Excel-Forum - das Archiv

User Form

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: User Form
von: Rolf

Geschrieben am: 01.01.2007 17:46:19
Hallo zusammen,
zunächst ein schönes Neues!
Sagt mal, wer kann mir denn mal auf die Sprünge helfen, wie ich aus einer VBA-Prozedur heraus eine Userform aufrufe und die einzugebenden Daten in der Prozedur weiter verarbeiten kann? Ich denke mir das so ähnlich wie bei einer Input-Box.
Hier ist eine Datei, mit einer x-beliebigen Userform (Userform1) und einer kleinen, allerdings nicht funktionierenden, Prozedur.

Die Datei https://www.herber.de/bbs/user/39299.xls wurde aus Datenschutzgründen gelöscht

Danke.
Rolf
Bild

Betrifft: AW: User Form
von: mumpel

Geschrieben am: 01.01.2007 18:13:07
Hallo! Wenn Du den Code Deines Makros der Schaltfläche "Weiter" Deiner UF zuordnest, dann funktioniert es. Und außerdem musst Du die Variablen noch deklarieren, z.B.:.
Private Sub CommandButton1_Click()
Dim Eingabe1 As String
Dim Eingabe2 As String
Eingabe1 = UserForm1.TextBox1
Eingabe2 = UserForm1.TextBox2
MsgBox Eingabe1 & ", " & Eingabe2
End Sub

Hier die Datei: https://www.herber.de/bbs/user/39300.xls
Gruss Rene
Bild

Betrifft: AW: User Form
von: Rolf
Geschrieben am: 01.01.2007 18:32:35
Hallo Rene,
und wie funktioniert das, wenn ich die Userform innerhalb einer längeren Prozedur aufrufen und nach der Eingabe der Daten wieder verschwinden lassen will?
Gruß
Rolf
Bild

Betrifft: AW: User Form
von: Rolf
Geschrieben am: 01.01.2007 18:32:39
Hallo Rene,
und wie funktioniert das, wenn ich die Userform innerhalb einer längeren Prozedur aufrufen und nach der Eingabe der Daten wieder verschwinden lassen will?
Gruß
Rolf
Bild

Betrifft: AW: User Form
von: Mister B
Geschrieben am: 01.01.2007 18:37:23
Hallo,
UserForm1.Show blendet ein
UserForm1.Hide blendet wieder aus wobei die UF nur "versteckt" wird.
UnloadMe macht die UserForm endgültig zu.
Hilft das dir weiter?
Gruß
Mister B
Bild

Betrifft: AW: User Form
von: Rolf
Geschrieben am: 01.01.2007 18:43:04
Hallo,
um ehrlich zu sein, das hilft mir nicht so arg viel weiter. Wo müssen denn die entsprechenden Befehle stehen, wie kriege ich die Werte aus der Userform in meine Hauptprozedur?
Rolf
Bild

Betrifft: AW: User Form
von: Mister B
Geschrieben am: 01.01.2007 18:49:29
Hallo
Was möchtest du genau mit der Eingabe aus der UserForm machen?
Gruß
Mister B
Bild

Betrifft: AW: User Form
von: mumpel
Geschrieben am: 01.01.2007 18:52:25
Das kommt darauf an, was Du mit den Daten machen möchtest. Sollen z.B. die Werte aus der UF in Zellen geschrieben werden? Einfacher ist es, wenn Du den gesamten Code in die UF packst und den Code dann über ein CommandButton der UF auslöst.
Gruss Rene
Bild

Betrifft: AW: User Form
von: mumpel
Geschrieben am: 01.01.2007 19:01:10
Hier mal ein Beispiel, wie Du es machen könntest. https://www.herber.de/bbs/user/39302.xls
Gruss Rene
Bild

Betrifft: AW: User Form
von: mumpel

Geschrieben am: 01.01.2007 18:41:02
Mit UserForm1.Show kannst Du die UF aufrufen, z.B.:
Sub Test()
Dein Code
Userform1.Show
Dein Code
End Sub
Die UF kannst Du schließen, indem Du den Code von "Weiter" durch die Zeile "Unload Me" oder "Userform1.Hide"ergänzt,z.B.:
Private Sub CommandButton1_Click()
Dim Eingabe1 As String
Dim Eingabe2 As String
Eingabe1 = UserForm1.TextBox1
Eingabe2 = UserForm1.TextBox2
MsgBox Eingabe1 & ", " & Eingabe2
Unload Me
End Sub

Unload Me = Userform wird geschlossen, Daten in UF gelöscht
Userform1.Hide = UF wird geschlossen, Daten in UF bleiben bis zum Schließen der Arbeitsmappe erhalten
Gruss Rene
Bild

Betrifft: AW: User Form
von: Rolf

Geschrieben am: 01.01.2007 19:01:34
Hallo,
dieser Tip war's wohl. Ich habe meine Daten, wo ich sie haben will.
Konkret wollte ich eine Tabelle nach Eingabedatum filtern lassen. Die entsprechenden Datumssätze können aber in 2 unterschiedlichen Spalten stehen, weshalb ein Standard-Filter nicht klappt.
Danke.
Rolf
 Bild