Was ist VBA-Laufzeitfehler ‚55‘?
Der Microsoft Excel VBA-Laufzeitfehler 55, auch bekannt als „Datei bereits geöffnet“, tritt auf, wenn ein Benutzer versucht, eine Datei in Excel mithilfe von VBA-Code (Visual Basic for Applications) zu öffnen, und die Datei bereits in einem anderen Programm oder Prozess geöffnet ist. Dieser Fehler kann zu unerwartetem Verhalten in der Excel-Tabelle führen und verhindern, dass der Benutzer auf die Daten in der Datei zugreifen kann. In diesem Artikel behandeln wir die möglichen Gründe für das Auftreten dieses Fehlers und wie der Fehler behoben werden kann.
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.
Es gibt einige häufige Ursachen für diesen Fehler und mehrere Methoden, um ihn zu beheben. Hier sind ein paar Lösungen für dieses Problem:
Ursache 1: Eine Open-Anweisung im sequentiellen Ausgabemodus wurde ausgeführt
Eine Open-Anweisung im sequentiellen Ausgabemodus wurde für eine bereits geöffnete Datei ausgeführt. Bevor Sie eine Datei für eine andere Art des sequentiellen Zugriffs öffnen, müssen Sie die gerade geöffnete Datei schließen. Beispielsweise können Sie eine Datei nicht für die Ausgabe öffnen, bevor Sie sie für iInput geschlossen haben.
Beispielfehlercode:
Sub ErrFileAlreadyOpen()
Open "C:\\Users\\User\\Desktop\\new\\sample raw file.xlsx" For Output As #1 ‘Öffnen Sie die Datei für die Ausgabe
‘Irgendein Code
Open "C:\\Users\\User\\Desktop\\new\\sample raw file.xlsx" For Input As #2 ‘Öffnen Sie die Datei erneut für die Eingabe
End Sub
Der obige Code führt zu einem vba-Laufzeitfehler 55, da die Datei bereits für die Ausgabe geöffnet ist und Sie versucht haben, dieselbe Datei für die Eingabe zu öffnen. Um diesen VBA-Laufzeitfehler 55 zu beheben, müssen Sie zuerst die für die Ausgabe geöffnete Datei schließen, bevor Sie sie für die Eingabe öffnen.
Code:
Sub ErrFileAlreadyOpen() Open "C:\\Users\\User\\Desktop\\new\\sample raw file.xlsx" For Output As #1
‘Irgendein Code
‘Schließt die Datei "C:\\Users\\User\\Desktop\\new\\sample raw file.xlsx", bevor sie in einem anderen Modus erneut geöffnet wird Close #1
Open "C:\\Users\\User\\Desktop\\new\\sample raw file.xlsx" For Input As #2 Close #2 ‘Schließt die Datei "C:\\Users\\User\\Desktop\\new\\sample raw file.xlsx" End Sub
Ursache 2: Eine Anweisung bezieht sich auf eine geöffnete Datei.
Eine Anweisung, z. B. Kill, SetAttr oder Name, verweist auf eine geöffnete Datei. Schließen Sie die Datei, bevor Sie die Anweisung ausführen, um diesen Fehler zu beheben.
Zusammenfassend tritt Microsoft Excel VBA-Laufzeitfehler 55 auf, wenn ein Benutzer versucht, eine Datei in Excel mithilfe von VBA-Code (Visual Basic for Applications) zu öffnen, und die Datei bereits in einem anderen Programm oder Prozess geöffnet ist. Um diesen Fehler zu beheben, müssen Sie die Datei schließen, die für einen sequenziellen Zugriffstyp geöffnet wurde, bevor Sie sie für einen anderen öffnen, und die Datei schließen, bevor Sie die Kill-, SetAttr- oder Name-Anweisung ausführen.
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.