Herbers Excel-Forum - das Archiv
UserForm
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
- UserForm von Jessie vom 08.10.2003 08:40:06
Betrifft: UserForm
von: Jessie
Geschrieben am: 08.10.2003 08:40:06
Guten Morgen,
kann mir jemand sagen, wie ich auf die Textfelder eines UserForms zugreifen kann?
Ich habe eines mit 2Textfeldern (startdatum, endedatum) und möchte, dass nach dem Ausfüllen, der User "OK" klicken muss und dann eine Plausibilitätsschleife über die beiden Eingaben läuft.
Wie mache ich das?
Separate Sub(s) oder innerhalb des Hauptmakros?
Wie kann ich auf die beiden Textfelder zugreifen?
Danke für Eure Hilfe, habe noch VBA Startschwierigkeiten...
Jessie
Betrifft: AW: UserForm
von: Galenzo
Geschrieben am: 08.10.2003 08:54:04
Hallo Jessie,
die Textfelder kannst du über ihre Namen ansprechen.
Der Inhalt eines Textfeldes ist dann z.B. TextBox1.Value
Wenn du die Eingabe in ein Textfeld gleich bei der Eingabe prüfen willst, dann solltest du das Ereignis TextBox_Change benutzen. Dort kannst du dann z.B. prüfen:
If Textbox1.Value > 123 Then ...
Wenn du die Eingaben erst bei Klick auf den Button auswerten willst, dann schreibst du die Prüf-Anweisungen in die Prozedur zum Click-Ereignis des Buttons, also z.B. in CommandButton1_Click().
Tip: Mit TextBox.Value="" wird das Textfeld geleert.
Viel Erfolg und gutes Gelingen.
Betrifft: AW: UserForm
von: Jessie
Geschrieben am: 08.10.2003 09:06:39
Hallo Galenzo,
d.h. wenn ich die ok_click() mit meiner Abfrage fülle, muss ich im Hauptmakro nur UserForm1.show ausführen?
Wenn ich innerhalb der ok-click() feststelle, dass falsche Eingaben gemacht wurden, wie, komme ich dann wieder zum leeren Forumlar?
Kannst Du mir noch kurz hierbei helfen:
Wie sage ich:
Sub ok_click()
if Inhalt kein Datum im Format tt.mm.jj then
UserForm1.Show und beide Textfelder leer
else
übergebe die beiden Inhalte an das Aufrufende Hauptmakro
End Sub
Danke...
*Jessie
Betrifft: AW: UserForm
von: Galenzo
Geschrieben am: 08.10.2003 09:46:42
Beispiel:
Vorraussetzungen: eine Userform mit TextBox1, TextBox2, CommandButton1
Doppelklick auf den Button bringt dich zur Ereignisprozedur CommandButton1_Click()
Private Sub CommandButton1_Click()
If Not (IsDate(TextBox1.Text)) Then
MsgBox "Kein gültiges Datum in Feld 1!"
TextBox1.Text = ""
TextBox1.SetFocus
Exit Sub
End If
If Not (IsDate(TextBox2.Text)) Then
MsgBox "Kein gültiges Datum in Feld 2!"
TextBox2.Text = ""
TextBox1.SetFocus
Exit Sub
End If
' hier die weiteren Anweiungen für den Fall,
' daß in beiden Textfeldern ein Datum steht
Unload Me
End Sub