Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1056to1060
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife VBA

Schleife VBA
03.03.2009 16:30:22
andreas
Hallo zusammen,
habe in einem Formular eine Eingabemaske, die Eingabeabfrage auf die Textbox ist schon vorhanden.
Aber ich will eine Schleife einbauen dass die Meldung so lange kommt bis in dieser Textbox etwas eingegeben wurde.
Ich weiss leider nicht wie das richtig geht.
https://www.herber.de/bbs/user/59955.xls
Danke für die Hilfe

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife VBA
03.03.2009 16:42:29
fcs
Hallo Andreas,
passe die Prozedur für den OK-Button wie folgt an.

Private Sub CommandButton1_Click()
If TextBox1 = "" Then
MsgBox "Text eingeben"
Else
Range("a1") = TextBox1
Unload UserForm1
End If
End Sub


Außerdem sollte in jedem UF auch ein Abbrechen-Button eingerichtete werden, der dann meist "nur" die Anweisung
Unload Me
ausführt.
Gruß
Franz

AW: Schleife VBA
04.03.2009 10:07:43
andreas
Hallo Franz
bringt leider nicht was ich möchte, und zwar wird jedesmal nach dem die Meldung angezeigt wird die UserForm wieder ausgeblendet. Der vergleich zwischen Zelle und Textbox bringt natürlich das gleiche Ergebnis da beide noch leer sind
Ich möchte aber dass dies vorhanden bleibt bis ein Wert in die Textbox eingegeben wurde.
Habe das auch mit Loop Until ausprobiert aber bin leider nicht zum gewünschten Ergebnis gekommen.
Hast du da den richtigen Weg?
Anzeige
AW: Schleife VBA
04.03.2009 10:58:34
fcs
Hallo Andreas,
sowohl meine Lösung als auch die Lösung von Renee sorgen dafür, dass nach Klick auf den OK-Button zunächst die Eingabe in der Textbox geprüft wird. Wenn nichts drin steht, dann wird das Userform nicht geschlossen! Wo ist also genau das Problem?
Du kannst den Userform-Code noch ein wenig anders gestalten, so dass die Textbox Inhalt haben muss bevor der OK-Button überhaupt ausgeführt wird. Beim Aktivieren des UF wird der Focus auf die Textbox gesetzt und erst dann, wenn etwas in der Box steht, wird die Textbox auch wieder verlassen.
Gruß
Franz

Private Sub CommandButton1_Click()
Range("a1") = TextBox1
Unload UserForm1
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then
MsgBox "Text eingeben"
Cancel = True
End If
End Sub
Private Sub UserForm_Activate()
Me.TextBox1.SetFocus
End Sub


Anzeige
AW: Schleife VBA
03.03.2009 16:47:15
Renee
Hi Andreas,

Private Sub CommandButton1_Click()
If TextBox1 = "" Then
MsgBox "Text eingeben"
TextBox1.SetFocus
Else
Range("a1") = TextBox1
Unload UserForm1
End If
End Sub


GreetZ Renée

hier eine weitere Variante ...
03.03.2009 19:15:27
Matthias
Hallo
Code im UserForm:

Option Explicit
Private Sub CommandButton1_Click()
[A1] = TextBox1
TextBox1 = ""
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub TextBox1_Change()
Me.CommandButton1.Visible = Me.TextBox1.Value  ""
Me.CommandButton2.Visible = Not CommandButton1.Visible
End Sub


https://www.herber.de/bbs/user/59957.xls
Gruß Matthias

Anzeige
Danke an alle
04.03.2009 11:43:12
andreas
Vielen dank für die schnelle und kompetente Hilfe.
Es funtionieren alle Varianten einwandfrei, sofern man beim Eingeben des Code´s keine Fehler macht
Gruß Andreas
Dafür ist Copy/Paste da! ;-) (owT)
04.03.2009 11:59:24
Renee

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige