Excel-Reparatur

Wie behebt man den Excel VBA Fehler “Subscript Out of Range” (Laufzeitfehler 9)?


Zusammenfassung: Der Laufzeitfehler 9 in Excel tritt normalerweise auf, wenn Sie verschiedene Objekte in einem Code verwenden oder das Objekt, das Sie zu verwenden versuchen, nicht definiert ist. In diesem Beitrag werden die Gründe für den Excel-VBA-Fehler "Subscript out of Range" und die Lösungen zur Behebung des Problems diskutiert. Es wird auch ein Excel-Reparatur-Tool erwähnt, das helfen kann, den Fehler zu beheben, wenn er aufgrund einer Beschädigung im Arbeitsblatt auftritt.

Viele Benutzer haben berichtet, dass bei der Verwendung von VBA-Code in Excel der Fehler “Subscript out of range” (Laufzeitfehler 9) auftritt. Der Fehler tritt häufig auf, wenn das Objekt, auf das Sie sich in einem Code beziehen, nicht verfügbar, gelöscht oder nicht früher definiert ist. Manchmal tritt er auf, wenn Sie ein Array im Code deklariert haben, aber vergessen haben, die DIM- oder ReDIM-Anweisung anzugeben, um die Länge des Arrays zu definieren.

Ursachen für den VBA-Laufzeitfehler 9: Subscript außerhalb des Bereichs

Der Fehler “Subscript out of range” in Excel kann aus verschiedenen Gründen auftreten, z. B:

  • Das Objekt, das Sie im VBA-Code zu verwenden versuchen, ist nicht früher definiert oder wurde gelöscht.
  • Es wurde eine falsche Deklarationssyntax für das Array eingegeben.
  • Falsche Schreibweise des Variablennamens.
  • Es wurde ein falsches Array-Element referenziert.
  • Sie haben einen falschen Namen für das Arbeitsblatt eingegeben, auf das Sie verweisen wollen.
  • Das Arbeitsblatt, das Sie im Code aufrufen wollen, ist nicht verfügbar.
  • Es wurde ein ungültiges Element angegeben.
  • Die Anzahl der Elemente in einem Array wird nicht angegeben.
  • Die Arbeitsmappe, in der Sie versuchen, VBA zu verwenden, ist beschädigt.

Methoden zur Behebung des Excel-VBA-Fehlers ‘Subscript out of Range’

Nachfolgend finden Sie einige Umgehungsmöglichkeiten, mit denen Sie den Laufzeitfehler 9 in Excel beheben können.

Methode 1: Überprüfen Sie den Namen des Arbeitsblatts im Code

Manchmal gibt Excel den Laufzeitfehler 9: Subscript out of range aus, wenn der Name des Arbeitsblatts im Code nicht korrekt definiert ist. Beispiel: Beim Versuch, den Inhalt eines Excel-Blattes (emp) in ein anderes Blatt (emp2) per VBA-Code zu kopieren, haben Sie versehentlich den falschen Namen des Arbeitsblattes angegeben (siehe den unten stehenden Code).

Private Sub CommandButton1_Click()
Worksheets(“emp”).Range(“A1:E5”).Select
Selection.Copy
Worksheets(“emp3”).Aktivieren
Worksheets(“emp3”).Range(“A1:E5”).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
Überprüfen Sie den Namen des Arbeitsblatts im Code

Wenn Sie den obigen Code ausführen, wird Excel den Fehler Subscript out of range ausgeben.

Überprüfen Sie also den Namen des Arbeitsblatts und korrigieren Sie ihn. Hier sind die Schritte:

  • Gehen Sie auf die Registerkarte Design im Bereich Entwickler.
  • Doppelklicken Sie auf die Schaltfläche Befehl.
  • Prüfen und ändern Sie den Namen des Arbeitsblatts (z. B. von “emp” in “emp2”).
Prüfen und ändern Sie den Namen des Arbeitsblatts
  • Führen Sie nun den Code aus.
  • Der Inhalt des Arbeitsblatts “emp” wird in das Arbeitsblatt “emp2” kopiert (siehe unten).
Führen Sie nun den Code aus.

Methode 2: Überprüfen Sie den Bereich des Arrays

Der VBA-Fehler “Subscript out of range” tritt auch auf, wenn Sie ein Array in einem Code deklariert haben, aber die Anzahl der Elemente nicht angegeben haben. Zum Beispiel – Wenn Sie ein Array deklariert haben und vergessen haben, die Array-Variable mit Elementen zu deklarieren, erhalten Sie den Fehler (siehe unten):

Überprüfen Sie den Bereich des Arrays

Um dies zu beheben, geben Sie die Array-Variable an:

Sub FillArray()
Dim curExpense(364) As Currency
Dim intI As Integer
For intI = 0 to 364
curExpense(intI) = 20
Next
End Sub

Methode 3: Makro-Sicherheitseinstellungen ändern

Der Laufzeitfehler 9: Subscript out of range kann auch auftreten, wenn es ein Problem mit den Makros gibt oder Makros in den Makro-Sicherheitseinstellungen deaktiviert sind. In einem solchen Fall können Sie die Makroeinstellungen überprüfen und ändern. Gehen Sie wie folgt vor:

  • Öffnen Sie Ihr Microsoft Excel.
  • Navigieren Sie zu Datei > Optionen > Trust Center.
  • Wählen Sie unter Trust Center die Option Trust Center-Einstellungen.
  • Klicken Sie auf Makroeinstellungen, wählen Sie Alle Makros aktivieren und klicken Sie dann auf OK.
Makroeinstellungen

Methode 4: Reparieren Sie Ihre Excel-Datei

Der Name oder das Format der Excel-Datei oder der Name der Objekte kann sich aufgrund einer Beschädigung in der Datei ändern. Wenn die Objekte in einem VBA-Code nicht identifiziert werden, kann der Fehler “Subscript out of range” auftreten. Sie können das Dienstprogramm Öffnen und Reparieren in Excel verwenden, um die beschädigte Datei zu reparieren. Führen Sie die folgenden Schritte aus, um dieses Dienstprogramm zu verwenden:

  • Klicken Sie in Ihrem MS Excel auf Datei > Öffnen.
  • Navigieren Sie zu dem Ort, an dem die betroffene Datei gespeichert ist.
  • Wählen Sie im Dialogfeld Öffnen die beschädigte Arbeitsmappe aus.
  • Klicken Sie in der Dropdown-Liste Öffnen auf Öffnen und Reparieren.
  • Es wird eine Aufforderung angezeigt, die Datei zu reparieren oder Daten aus ihr zu extrahieren.
  • Klicken Sie auf die Option Reparieren, um die Daten so weit wie möglich zu extrahieren. Wenn die Schaltfläche Reparieren fehlschlägt, klicken Sie auf die Schaltfläche Extrahieren, um die Daten ohne Formeln und Werte wiederherzustellen.

Wenn das Dienstprogramm “Öffnen und Reparieren” nicht in der Lage ist, die beschädigte/beschädigte makroaktivierte Excel-Datei zu reparieren, versuchen Sie es mit einem fortgeschrittenen Excel-Reparaturtool wie Stellar Repair for Excel. Es kann schwer beschädigte Excel-Arbeitsmappen leicht reparieren und alle Elemente, einschließlich Makros, Zellkommentare, Tabellen, Diagramme usw. mit 100%iger Integrität wiederherstellen. Das Tool ist mit allen Versionen von Microsoft Excel kompatibel.

Schlussfolgerung

Bei der Verwendung von VBA in Excel kann der Fehler “Subscript out of range” auftreten. Sie können die in diesem Blog beschriebenen Abhilfemaßnahmen befolgen, um den Fehler zu beheben. Wenn die Excel-Datei beschädigt ist, dann können Sie Stellar Repair for Excel verwenden, um die Datei zu reparieren. Es handelt sich um eine leistungsstarke Software, die alle Probleme beheben kann, die aufgrund einer Beschädigung der Excel-Datei auftreten. Es hilft, alle Daten aus den beschädigten Excel-Dateien (.xls, .xlsx, .xltm, .xltx, und .xlsm) wiederherzustellen, ohne die ursprüngliche Formatierung zu verändern. Das Tool unterstützt Excel 2021, 2019, 2016 und ältere Versionen.

Was this article helpful?

No NO

Über den Autor

Himanshu Shakya

Himanshu is a Tech Enthusiast and Blogger at Stellar, with expertise in data recovery solutions and a keen interest in emerging technologies. Fluent in Japanese, he brings a diverse skill set to his role, contributing to global tech conversations. Outside of work, Himanshu enjoys playing chess, sharpening his strategic thinking and problem-solving skills in his spare time.

Verwandter Beitrag

WARUM STELLAR® WELTWEIT FÜHREND IST

Warum Stellar wählen?

  • 2M+

    Kunden

  • 29+

    Jahre der Exzellenz

  • 96+

    F&E-Ingenieure

  • 183+

    Länder

  • 7734+

    PARTNER

  • 116+

    Erhaltene Auszeichnungen

Diese Website verwendet Cookies, um Ihnen die bestmögliche Erfahrung zu bieten und um die Leistung der Website in Übereinstimmung mit unserer Cookie-Richtlinie zu überwachen und zu verbessern. Cookie-Richtlinie .