Laufzeitfehler\’94\‘
Bevor wir mit der Fehlermeldung fortfahren, wollen wir zuerst klären, was Null in VBA ist. Der Nullwert gibt an, dass ein Parameter keine gültigen Daten enthält. Dies ist nicht dasselbe wie der String Leer (Zeichenfolge der Länge Null = „“) oder das, was manchmal als Nullzeichenfolge bezeichnet wird. Null ist nicht dasselbe wie Leer. In diesem Artikel behandeln wir die möglichen Gründe, warum dieser Fehler auftritt, und wie der Fehler behoben werden kann.
Dies ist die mögliche Ursache des Fehlers:
- Sie versuchen, den Wert einer Variant-Variablen oder eines Ausdrucks abzurufen, der null ist.
Was verursacht den Fehler?
Bevor Sie mit der Behebung des Fehlers fortfahren, müssen Sie die Fehlerursache in Ihrem VBA-Code identifizieren. Die Codezeile, die den Fehler verursacht, wird gelb hervorgehoben, sobald die Debug-Schaltfläche gedrückt wird.
Ursache: Variabel hat ungültigen Wert
Beispielcode:
Sub Sample()
Dim val As Integer
Dim num_val As String
val = InputBox("Enter a Value", "")
num_val = Switch(val = 1, "gelb", val = 2, "rot", val = 3, "blau")
MsgBox num_val
End Sub
Wenn wir in diesem Beispiel den Code ausführen, erscheint eine Meldung, in dem Sie aufgefordert werden, einen Wert einzugeben.
Der Fehler tritt nur auf, wenn wir Werte eingeben, die nicht 1, 2 oder 3 sind.
Dies liegt daran, dass wir der Variablen val den Wert 5 zuweisen, der nicht in der Liste der Ausdrucks- und Wertepaare für die Funktion enthalten ist.
Lösung:
Um diesen Fehler zu beheben, stellen Sie sicher, dass der eingegebene Wert gültig ist. Sie können den Fehler auch vermeiden, indem Sie einen Check hinzufügen, der feststellt, ob der eingegebene Wert gültig ist.
Versuchen Sie diesen Code:
Sub Sample().
Dim val As Integer
Dim num_val As String
val = InputBox("Enter a Value", "")
If val > 3 Or val < 1 Then
MsgBox ("You entered an invalid number. Values should be between 1 to 3")
Exit Sub
End If
num_val = Switch(val = 1, "gelb", val = 2, "rot", val = 3, "blau")
MsgBox num_val
End Sub
Wenn der eingegebene Wert ungültig ist, wird eine Meldung angezeigt, um den Benutzer darüber zu informieren, dass er einen ungültigen Wert eingegeben hat.
Benötigen Sie einen VBA Programmierer?
Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).
Haben Sie ein Excel-Problem? Benötigen Sie einen Makro-Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular.