Laufzeitfehler ‚5‘
Dies ist ein Laufzeitfehler, der auftritt, wenn Sie einen Wert haben, der außerhalb des Bereichs eines Arguments liegt. Um den Code effizient zu debuggen, ist es wichtig, zuerst den Fehler Ihres VBA-Codes zu verstehen. In diesem Artikel behandeln wir die möglichen Gründe für das Auftreten dieses Fehlers und wie der Fehler behoben werden kann.
Dies sind die zwei möglichen Ursachen des Fehlers:
- Argumente überschreitet den zulässigen Wertebereich.
- Falsche Excel-Plattform
Wir werden uns diese Ursachen ansehen und eine Lösung aufzeigen
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 1: Argumente überschreiten den zulässigen Wertebereich.
Beispielfehlercode:
Sub ErrInvalidProcedureCall()
Dim value1 As Double
value1 = Sin(999999999999999999999)
End Sub
Der obige Code führt zu Laufzeitfehler 5, da die Sin-Funktion nur Werte innerhalb eines bestimmten Bereichs annehmen kann. Positive Argumente kleiner als 2\’147\’483\’648 werden akzeptiert, während 2\’147\’483\’648 diesen Fehler generiert.
Lösung: Überprüfen Sie die zulässigen Bereiche für Argumente.
Code:
Sub ErrInvalidProcedureCall()
Dim value1 As Double
value1 = Sin(999)
End Sub
Ursache 2: Falsche Plattform von Excel
Dieser Fehler tritt auch auf, wenn Sie ein Makro in der Macintosh-Version von Excel geschrieben haben und dann versuchen, das Makro in einer Windows-Version auszuführen. Die Verwendung einer Prozedur, die auf der aktuellen Excel-Plattform nicht gültig ist, führt zu einem Laufzeitfehler 5, da der VBA-Code zwischen den Plattformen abweichen kann.
Lösung: Überprüfen Sie die plattformspezifischen Informationen zum Verfahren.
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.