Fehler abfangen, wenn keine Eingabe in Inputbox
Schritt-für-Schritt-Anleitung
Um den Laufzeitfehler '13' zu verhindern, wenn in der Inputbox keine Eingabe erfolgt, kannst du den folgenden VBA-Code verwenden. Dieser Code zeigt eine Messagebox an, wenn der Benutzer nichts eingibt.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Erstelle ein neues Modul über
Einfügen
> Modul
.
- Füge den folgenden Code in das Modul ein:
Sub Datum_ein()
Dim Xdate As Variant
Do
Xdate = Application.InputBox("Datum eingeben", "Datum", , , , , 1)
If Xdate = False Then Exit Sub 'Abbruch
If Xdate = "" Then
MsgBox "Sie müssen ein Datum eingeben!"
End If
Loop While Xdate = ""
'Wert updaten
Range("zeDate") = Xdate
End Sub
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Führe das Makro aus, um das Datum einzugeben.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode zur Eingabe eines Datums könnte die Verwendung von benutzerdefinierten Formularen in Excel sein. Damit kannst du Eingabefelder designen, die spezifische Validierungen erlauben.
- Gehe zu
Einfügen
> UserForm
.
- Füge Textfelder und Buttons hinzu, um die Eingabe zu steuern.
- Verwende VBA zur Validierung wie im obigen Beispiel.
Praktische Beispiele
Ein einfaches Beispiel, um das Datum in die Zelle A1
zu schreiben:
Sub Datum_ein()
Dim Xdate As Variant
Do
Xdate = Application.InputBox("Bitte geben Sie ein Datum ein:", "Datum Eingabe", , , , , 1)
If Xdate = False Then Exit Sub
If Xdate = "" Then
MsgBox "Sie müssen ein Datum eingeben!"
End If
Loop While Xdate = ""
Range("A1").Value = Xdate
End Sub
In diesem Beispiel wird das eingegebene Datum in die Zelle A1
geschrieben.
Tipps für Profis
- Verwende
IsDate(Xdate)
zur Validierung der Eingabe, um sicherzustellen, dass der Benutzer tatsächlich ein gültiges Datum eingibt.
- Nutze
Application.OnTime
, um die Eingabeaufforderung zu einem späteren Zeitpunkt erneut anzufordern, falls der Benutzer nicht reagiert.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass das eingegebene Datum im richtigen Format ist?
Du kannst die Funktion IsDate()
verwenden, um zu überprüfen, ob die Eingabe ein gültiges Datum ist.
2. Was passiert, wenn der Benutzer auf "Abbrechen" klickt?
Der Code verwendet If Xdate = False Then Exit Sub
, um den Makro abzubrechen, wenn "Abbrechen" gewählt wird.
3. Ist dieser Code für alle Excel-Versionen geeignet?
Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.