Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Abfrage auf ABBRUCH in InputBox





Frage

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 1 von Beverly

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

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

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

Hallo Waltrude,

Danke, schade, dass das nicht geht.

danke für alle Inputs, Lg, Angelika

Antwort 5 von schnallgonz

Salve

v = Application.InputBox  ("mein Thema",  "mein Titel")
 'falls Klick auf "Abbrechen", keine Aktion und Abbruch
 If v = "Falsch" Then Exit Sub


Wenn der Benutzer "Falsch" eingibt, erfolgt auch allerdings auch ein Abbruch.

gruß
schnallgonz

Antwort 6 von waltrude

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

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

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

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

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

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: