Inputbox Abbrechen mit Exit Sub belegen
Schritt-für-Schritt-Anleitung
Um den Abbrechen-Button bei einer Inputbox in Excel VBA mit Exit Sub
zu belegen, kannst du folgenden Code verwenden:
Sub EingabeOrdnernummer()
Dim eingabe As String
eingabe = InputBox("Bitte Ordernummer eingeben", "Ordernummer")
If eingabe = "" Then
Exit Sub ' Hier wird das Skript beendet, wenn die Inputbox abgebrochen wird
End If
ThisWorkbook.Worksheets("Formulare").Range("X2").Value = eingabe
End Sub
In diesem Beispiel wird die Ordernummer in die Zelle X2 des Arbeitsblatts "Formulare" geschrieben, es sei denn, die Inputbox wird abgebrochen oder es erfolgt keine Eingabe.
Häufige Fehler und Lösungen
-
Fehlende Variablenzuweisung
- Problem: Du hast die Eingabevariable nicht deklariert.
- Lösung: Stelle sicher, dass du
Dim eingabe As String
am Anfang deines Codes hinzufügst.
-
Inputbox gibt leeres Ergebnis zurück
- Problem: Wenn die Inputbox geschlossen wird, wird ein leerer String zurückgegeben.
- Lösung: Überprüfe, ob der Wert
""
ist, und verwende Exit Sub
, um das Skript zu beenden.
Alternative Methoden
Eine alternative Methode, um die Inputbox zu verwenden, ist die Verwendung von IsEmpty
oder IsNumeric
, um sicherzustellen, dass der Benutzer eine gültige Eingabe macht:
Sub EingabeOrdnernummer()
Dim ordernummer As String
ordernummer = InputBox("Bitte Ordernummer eingeben", "Ordernummer")
If IsEmpty(ordernummer) Then Exit Sub ' Beendet das Skript, wenn die Eingabe leer ist
If IsNumeric(ordernummer) Then
ActiveSheet.Range("A1").Value = ordernummer
End If
End Sub
Hier wird nur dann der Wert in die Zelle geschrieben, wenn die Eingabe eine Zahl ist.
Praktische Beispiele
Hier sind zwei praktische Beispiele, um die Verwendung der VBA Inputbox zu veranschaulichen:
- Beispiel mit einfacher Abbruchprüfung:
Sub Beispiel1()
Dim eingabe As String
eingabe = InputBox("Bitte Ordernummer eingeben", "Ordernummer")
If eingabe = "" Then
MsgBox "Abgebrochen!"
Exit Sub
End If
MsgBox "Eingegebene Ordernummer: " & eingabe
End Sub
- Beispiel mit numerischer Validierung:
Sub Beispiel2()
Dim ordernummer As String
ordernummer = InputBox("Bitte Ordernummer eingeben", "Ordernummer")
If IsEmpty(ordernummer) Then
MsgBox "Abgebrochen!"
Exit Sub
ElseIf Not IsNumeric(ordernummer) Then
MsgBox "Bitte gib eine gültige Nummer ein!"
Exit Sub
End If
ActiveSheet.Range("B1").Value = ordernummer
End Sub
Tipps für Profis
- Verwende
Option Explicit
, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler im Code zu vermeiden.
- Füge eine
MsgBox
hinzu, um den Benutzer über erfolgreiche Eingaben oder Fehler zu informieren.
- Überlege, ob du die Inputbox in einer Schleife verwenden möchtest, um mehrere Versuche zuzulassen.
FAQ: Häufige Fragen
1. Wie kann ich die Eingabe in der Inputbox formatieren?
Du kannst die Eingabe in der Inputbox nicht direkt formatieren. Du kannst jedoch die Eingabe nach der Erfassung formatieren.
2. Was passiert, wenn die Inputbox abgebrochen wird?
Wenn die Inputbox abgebrochen wird, gibt sie einen leeren String zurück. Du kannst dies überprüfen und Exit Sub
verwenden, um das Skript zu beenden.