Quantcast
Channel: Hope This Helps
Viewing all articles
Browse latest Browse all 256

Office VBA: Inputbox Button "Abbrechen" korrekt auswerten

$
0
0
Problem:
Ich habe ein Makro in Excel geschrieben und hier muss der Benutzer etwas eingeben bzw. hat mit dem ABBRECHEN-Button die Möglichkeit das Makro zu beenden. Jetzt habe ich bemerkt, dass das Abbrechen nicht funktioniert - der Code wird nicht korrekt ausgewertet und das Makro läuft weiter.

Lösung:
Eine Inputbox ist keine Msgbox und muss anders ausgewertet werden. Es gibt hier zwei Möglichkeiten:

1.) Beim Abbrechen wird der Wert ""übergeben (leer) und man kann dies auswerten.

Beispiel:
Wert = Inputbox("Bitte Namen eingeben")
If Wert = "" then 
    Msgbox "Es wurde kein Wert eingegeben oder Abbrechen geklickt"
Else
    ........
End If


Nachteil hier ist, dass man nicht zwischen Abbrechen oder leerer Eingabe unterscheiden kann.


2.) Man wertet wirklich aus, ob der Wert leer ist oder null mittels StrPtr-Funktion. Null würde ABBRECHEN entsprechen

Beispiel:
Wert = Inputbox("Bitte Namen eingeben")
If StrPtr(Wert) = 0 then 
    Msgbox "Es wurde sicher Abbrechen geklickt"
Else
    ........
End If


Vorteil hier ist, dass man klar zwischen ABBRECHEN und leerer Eingabe unterscheiden kann.

Quelle:
Bettersolutions.com: STRPTR

Viewing all articles
Browse latest Browse all 256