Eingaben in Excel mit Inputbox prüfen
Schritt-für-Schritt-Anleitung
Um Eingaben in Excel mithilfe einer Inputbox zu prüfen, kannst du ein Makro in VBA erstellen. Hier ist ein einfaches Beispiel, das zeigt, wie du eine Eingabe validieren kannst:
- Öffne Excel und gehe zu
Entwicklertools
→ Visual Basic
.
- Füge ein neues Modul hinzu.
- Kopiere den folgenden Code in das Modul:
Sub test()
Dim Eingabe As String
Eingabe = ""
Do Until Eingabe <> ""
Eingabe = InputBox("Bitte geben Sie etwas ein:", Eingabe)
If Eingabe <> "" Then
If IsValidFileName(Eingabe) Then
Range("A1") = Eingabe
Else
MsgBox ("Falsche Eingabe")
Eingabe = ""
End If
End If
Loop
Range("B2") = "Ende"
End Sub
Function IsValidFileName(ByVal strName As String) As Boolean
Dim objRegExp As Object
Set objRegExp = CreateObject("vbscript.regexp")
With objRegExp
.Global = True
.Pattern = "^[^\/\\:\*\?\|\""""]{1,20}$"
.IgnoreCase = True
IsValidFileName = .Test(strName)
End With
Set objRegExp = Nothing
End Function
- Schließe den VBA-Editor und führe das Makro aus.
In diesem Beispiel wird überprüft, ob die Eingabe einen gültigen Dateinamen darstellt. Du kannst die Funktion IsValidFileName
anpassen, um weitere Anforderungen zu berücksichtigen.
Häufige Fehler und Lösungen
-
Fehler: "Falsche Eingabe" erscheint immer
- Lösung: Stelle sicher, dass dein regulärer Ausdruck in der Funktion
IsValidFileName
korrekt ist und die Anforderungen erfüllt.
-
Fehler: Eingabe wird nicht akzeptiert
- Lösung: Überprüfe, ob die Eingabe nicht leer ist und die Bedingungen in der
If
-Anweisung erfüllt sind.
-
Fehler: Makro lässt keine Eingabe zu
- Lösung: Vergewissere dich, dass die Schleife korrekt implementiert ist und die Bedingungen für das Verlassen der Schleife stimmen.
Alternative Methoden
Du kannst auch die Application.InputBox
-Methode verwenden, um Eingaben zu prüfen. Diese Methode ermöglicht es dir, mehrere Typen von Eingaben zu definieren, z.B. nur Zahlen:
Dim Zahl As Variant
Zahl = Application.InputBox("Bitte geben Sie eine Zahl ein:", Type:=1)
If Zahl < 0 Or Zahl > 2000 Then
MsgBox "Zahl ungültig!"
Else
MsgBox "Eingabe: " & Zahl
End If
Diese Methode ist besonders nützlich, wenn du eine Zahl innerhalb eines bestimmten Bereichs annehmen möchtest.
Praktische Beispiele
-
Prüfen auf gültige Dateinamen:
- Verwende die oben gezeigte Funktion
IsValidFileName
, um sicherzustellen, dass die Eingabe keine ungültigen Zeichen enthält.
-
Zahleneingabe mit maximaler Stellenanzahl:
- Hier ist ein Beispiel, das die Eingabe auf eine Zahl mit maximal 5 Stellen prüft:
Sub Ganzzahl_mit_max_5_Stellen()
Dim vRet As Variant
vRet = Application.InputBox("Zahl:", "Zahl", Type:=2)
If vRet = "Falsch" Then Exit Sub
If IsNumeric(vRet Then
vRet = CLng(vRet)
If vRet < 0 Or vRet > 99999 Then
MsgBox "Zahl ungültig!"
Else
MsgBox CStr(vRet)
End If
End If
End Sub
Tipps für Profis
- Verwende reguläre Ausdrücke, um komplexere Validierungsregeln zu implementieren.
- Setze Standardwerte in
InputBox
, um die Benutzerführung zu verbessern.
- Überlege, wie du Ausnahmen und Fehlerbehandlungen implementieren kannst, um das Benutzererlebnis zu verbessern.
FAQ: Häufige Fragen
1. Wie kann ich mehrere Validierungen in einer Inputbox durchführen?
Du kannst mehrere Bedingungen innerhalb der Schleife kombinieren und die Eingabe entsprechend validieren.
2. Gibt es eine Möglichkeit, die Eingabe direkt in einer Zelle zu validieren?
Ja, du kannst Datenüberprüfung in Excel verwenden, um Eingaben in einer Zelle direkt zu validieren.
3. Wie kann ich sicherstellen, dass nur Zahlen in einer Inputbox eingegeben werden?
Verwende Application.InputBox
mit dem Typ 1
, um nur numerische Eingaben zuzulassen.
4. Kann ich die Eingaben auch auf bestimmte Zeichen beschränken?
Ja, du kannst dafür reguläre Ausdrücke in einer benutzerdefinierten Funktion verwenden, um die Eingaben zu filtern.