Abfrage auf ABBRUCH in InputBox
Hallo,
brauche mal wieder Hilfe vom Supportnet!
Wie kann ich in VBA genau abfragen, ob der Benuzter bei der InputBox ABBRUCH gedrückt hat?
Beispiel:
Dim v as Variant
v = ""
v = InputBox("mein Thema", "mein Titel)
if v = ???? ABBRUCH??? then
... tue, was hier getan werden muss, leerer input ist auch erlaubt
end if
Wer kann mir hier einen Tipp geben?
danke, Angelika
Antwort schreiben
Antwort 1 von Beverly vom 04.05.2019, 19:00 Options
Hi Angelika,
versuche es mit diesem Code
Dim v As Variant
Dim strAbfrage As String
v = InputBox("mein Thema", "mein Titel")
If v = "" Then
strAbfrage = MsgBox("", vbYesNo, "Sie haben keinen Wert eingegeben. Wollen Sie fortfahren?")
If strAbfrage = vbYes Then
' dein weitere Code was ausgeführt werden soll
End If
End If
Bis später,
Karin
Antwort 2 von waltrude vom 04.05.2019, 19:24 Options
Zitat:
Wie kann ich in VBA genau abfragen, ob der Benuzter bei der InputBox ABBRUCH gedrückt hat?
bei vba kann man nicht zwischen leereingabe und abbruch unterscheiden. das geht nur bei höherentwickelten sprachen, wie vbs. :-P
ansonsten siehe karin^^
lg
Antwort 3 von user3 vom 04.05.2019, 19:28 Options
Hallo Karin,
danke für die Antwort, so würde es funktionieren.
Ich möchte dem Benutzer eine weitere Abfrage ersparen und deshalb direkt abfragen, ob der Benutzer ABBRUCH gedrückt hat (möglicht ohne Workaround).
Geht das denn in VBA und wenn ja, wie??
Liebe Grüße, Angelika
Antwort 4 von user3 vom 04.05.2019, 19:32 Options
Hallo Waltrude,
Danke, schade, dass das nicht geht.
danke für alle Inputs, Lg, Angelika
Antwort 5 von schnallgonz vom 04.05.2019, 19:37 Options
Salve
v = Application.InputBox ("mein Thema", "mein Titel")
'falls Klick auf "Abbrechen", keine Aktion und Abbruch
[b] If v = "Falsch"[/b] Then Exit Sub
Wenn der Benutzer "Falsch" eingibt, erfolgt auch allerdings auch ein Abbruch.
gruß
schnallgonz
Antwort 6 von waltrude vom 04.05.2019, 19:53 Options
man ersetze
If v = "Falsch"
durch
If VarType(v) = vbBoolean And v = "Falsch"
und dann geht es auch bei der Eingabe von "Falsch"
ps:
1. asche über mein haupt
2. ein mann im thread hilft manchmal ;-)
3. trotzdem ist es bei vbs eleganter gelöst :-P
lg
Antwort 7 von alterHase vom 04.05.2019, 19:54 Options
Hi,
Alternativ könntest Du Dir eine eigene Inputbox basteln.
Eine Userform, ein Textfeld, ein label und zwei Schaltflächen - fertig ist die (Input)Bastelbox.
Damit läßt sich dann beinahe jedes Erreignis abfangen oder interpretieren.
viel Erfolg
alterHase
Antwort 8 von waltrude vom 04.05.2019, 19:55 Options
ps die 2te:
If VarType(v) = vbBoolean Then
reicht eigentlich auch, denn der user kann ja keinen typ boolean eingeben eingeben
Antwort 9 von user3 vom 04.05.2019, 20:47 Options
Hi schnallgonz,
im debugger sehe ich V vom Typ Variant/String mit Value ""
Ich habe beim Test in der Inputbox gleich ABBRUCH gedrückt und v war vorher NICHT initialisiert.
Was mache ich falsch??
Gruß, Angelika
Antwort 10 von schnallgonz vom 04.05.2019, 21:57 Options
Hi Angelika,
mit diesem Code funzt es:
Sub InputTest()
Dim v As String
v = ""
v = Application.InputBox("mein Thema", "mein Titel")
If v = "Falsch" Then
MsgBox "ha"
End If
End Sub
gruß
schnallgonz
Antwort 11 von user3 vom 04.05.2019, 23:51 Options
Hi,
danke, jetzt geht es!!!!!
Ich hatte vorher nur ein InputBox, da lieferte mir EXCEL immer
ein "" von der Funktion InputBox.
Mit
v =m Application.InputBox ...
geht es! Auch ein
If varType (v) = vbBoolean
geht nun
Merci an alle
hat mir sehr geholfen :-)
Lg, Angelika