wie kann man im excel den inhalt einer inputbox abfragen, d.h. wie kann ich feststellen ob der user "ok" oder "abbrechen" ausgewählt hat?
liebe grüsse daniel
Sub EingabeBox()
Dim s As String
s = InputBox("Aufforderung:", "Titel")
If s = "" Then
MsgBox "Keine Eingabe !" & vbCr & vbCr & "Makro-Abbruch !", 0, _
"Dezenter Hinweis für " & Application.UserName & ":"
Exit Sub
End If
End Sub
Um die Eingabe in einer Excel VBA Inputbox abzufragen und zu überprüfen, ob der Benutzer "Ok" oder "Abbrechen" gewählt hat, kannst Du folgende Schritte befolgen:
ALT + F11.Einfügen > Modul.Sub EingabeBox()
Dim s As String
s = InputBox("Bitte einen Wert eingeben:", "Eingabe erforderlich")
If s = "" Then
MsgBox "Keine Eingabe!" & vbCr & "Makro wird abgebrochen.", vbExclamation, "Hinweis"
Exit Sub
End If
' Weitere Logik hier
End Sub
Dieser Code prüft, ob der Benutzer auf "Abbrechen" geklickt hat, indem er überprüft, ob der Rückgabewert ein leerer String ist. In diesem Fall wird das Makro mit einer entsprechenden Nachricht abgebrochen.
Problem: Die Inputbox gibt nicht das erwartete Ergebnis zurück.
"") bedeutet, dass der Benutzer "Abbrechen" gewählt hat.Problem: Makro bricht nicht ab, wenn "Abbrechen" gewählt wird.
Exit Sub, um das Makro zu beenden, wenn die Eingabe leer ist.Wenn Du eine Inputbox in Excel VBA abfangen möchtest, kannst Du auch die Application.InputBox-Methode verwenden, die zusätzliche Optionen bietet:
Sub EingabeBoxMitOptionen()
Dim s As Variant
s = Application.InputBox("Bitte einen Wert eingeben:", "Eingabe erforderlich", Type:=2)
If s = False Then
MsgBox "Abgebrochen!", vbExclamation, "Hinweis"
Exit Sub
End If
' Weitere Logik hier
End Sub
In diesem Fall wird False zurückgegeben, wenn der Benutzer auf "Abbrechen" klickt, und Du kannst dies zur Fehlerbehandlung nutzen.
Hier sind einige praktische Beispiele, wie Du die Inputbox nutzen kannst:
Sub EingabeZahl()
Dim zahl As Variant
zahl = Application.InputBox("Bitte geben Sie eine Zahl ein:", "Zahleneingabe", Type:=1)
If zahl = False Then
MsgBox "Eingabe abgebrochen.", vbExclamation
Exit Sub
End If
' Verarbeitung der Zahl
End Sub
Sub EingabeName()
Dim name As String
name = InputBox("Geben Sie Ihren Namen ein:", "Name erforderlich")
If name = "" Then
MsgBox "Keine Eingabe, Abbruch!", vbExclamation
Exit Sub
End If
MsgBox "Hallo " & name & "!"
End Sub
Application.InputBox, um Benutzer in der Eingabe zu lenken, indem Du den Type-Parameter verwendest, wodurch nur bestimmte Datentypen erlaubt sind.InputBox mit anderen Funktionen, um dynamische Datenverarbeitung zu ermöglichen.vbCritical, vbInformation oder vbExclamation für verschiedene Typen von Nachrichtenboxen, basierend auf der Benutzerinteraktion.1. Wie kann ich die Inputbox anpassen?
Du kannst den Text und den Titel der Inputbox ändern, indem Du die Parameter in der InputBox-Funktion anpasst.
2. Was passiert, wenn der Benutzer einen Wert eingibt, der nicht dem erwarteten Datentyp entspricht? Es liegt in Deiner Verantwortung, den eingegebenen Wert zu validieren und sicherzustellen, dass er dem gewünschten Datentyp entspricht, bevor Du mit weiteren Berechnungen fortfährst.