Inhaltsverzeichnis
    Excel-Reparatur

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


    Inhaltsverzeichnis

      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?

      • 0M+

        Kunden

      • 0+

        Jahre der Exzellenz

      • 0+

        F&E-Ingenieure

      • 0+

        Länder

      • 0+

        PARTNER

      • 0+

        Erhaltene Auszeichnungen