Excel VBA-Index außerhalb des gültigen Bereichs

Der VBA-Index liegt außerhalb des gültigen Bereichs oder wird hauptsächlich als Laufzeitfehler 9 bezeichnet, wenn eine Zelle oder ein Arbeitsblatt oder eine Arbeitsmappe ausgewählt wird, die bzw. die nicht unter den in Excel definierten Bereich oder die in Excel definierten Kriterien fällt. Es ist, als hätten wir den Bereich von 100 Zellen oder eine Spalte ausgewählt und die in 120 Zellen derselben Spalte gespeicherten Werte abgerufen. Das bedeutet, dass wir außerhalb des zulässigen Bereichs sind, um die Werte auszuwählen und abzurufen, die nicht in unseren definierten Kriterien enthalten sind. In einer solchen Situation wird beim Kompilieren oder Ausführen des Codes die Meldung "Laufzeitfehler 9" angezeigt. Die Fehlermeldung "VBA-Index außerhalb des Bereichs" hilft uns, den Fehler zu beheben, der sich auf den in Excel ausgewählten Bereich bezieht.

Beispiel für Excel VBA-Index außerhalb des gültigen Bereichs

Im Folgenden sind die verschiedenen Beispiele für VBA-Index außerhalb des gültigen Bereichs in Excel aufgeführt.

Sie können dieses VBA-Abonnement außerhalb des Bereichs der Excel-Vorlage hier herunterladen - VBA-Abonnement außerhalb des Bereichs der Excel-Vorlage

VBA-Index außerhalb des zulässigen Bereichs - Beispiel 1

Wir betrachten zunächst ein einfaches Beispiel. Dazu müssen wir zu VBA-Fenstern gehen und ein neues Modul hinzufügen, indem wir in die Menüoption Einfügen gehen, wie unten gezeigt.

Wir erhalten ein weißes leeres Fenster von Module. Hier müssen wir die Codierungsarbeit erledigen.

Schreiben Sie nun "Unterkategorie der ausgeführten Funktion", um eine optimale Vorgehensweise zu erzielen. Behalten Sie den Namen einer Funktion in "Unterkategorie" bei, wie wir es hier für "VBA-Index außerhalb des Bereichs" getan haben.

Code:

 Sub Subscript_OutOfRange1 () End Sub 

Hier in Excel haben wir nur ein Blatt mit dem Namen "Sheet1", wie unten gezeigt.

Wir werden jedoch einen Code schreiben, um ein Blatt auszuwählen, das noch nicht einmal hinzugefügt wurde, und um zu sehen, was passiert.

Gehen Sie nun zum VBA-Fenster und schreiben Sie die Blätter (2), gefolgt von der Auswahlfunktion, wie unten gezeigt. Das heißt, wir wählen mit der Funktion Auswählen die Blattfolge der 2. Position aus.

Code:

 Sub Subscript_OutOfRange1 () Sheets (2) .Wählen Sie End Sub 

Kompilieren Sie nun den kompletten Code oder machen Sie es Schritt für Schritt, um zu wissen, welcher Teil des Codes ein Fehler ist. Da wir nur eine Codezeile haben, können wir den Code direkt ausführen, indem wir auf die Wiedergabetaste unter der Menüleiste klicken. In der VBA wird die Fehlermeldung " Laufzeitfehler 9, Index außerhalb des gültigen Bereichs " angezeigt (siehe unten).

Dies zeigt, dass wir versuchen, das Blatt auszuwählen, das nicht existiert. Wenn wir ein neues Blatt hinzufügen oder die Blattsequenz im Code von 2. auf 1. ändern, wird möglicherweise ein erfolgreicher Code ausgeführt. Lassen Sie uns ein weiteres Blatt hinzufügen und sehen, was passiert.

Führen Sie jetzt den Code erneut aus. Und da wir keinen Fehler gesehen haben, schließt unser Code den erfolgreichen Lauf ab.

VBA-Index außerhalb des zulässigen Bereichs - Beispiel 2

In einem anderen Beispiel sehen wir wieder einen einfachen Code zum Aktivieren eines Arbeitsblatts. Dafür werden wir wieder den Code schreiben. Beginnen Sie mit dem Schreiben der Unterkategorie im Namen einer ausgeführten Funktion oder in einem anderen Namen, wie unten gezeigt.

Code:

 Sub Subscript_OutOfRange2 () End Sub 

Mit Hilfe von Worksheet werden wir nun Sheet1 wie unten gezeigt aktivieren.

Code:

 Sub Subscript_OutOfRange2 () Arbeitsblätter ("Sheet1") Aktivieren Sie End Sub 

Kompilieren Sie nun den vollständigen Code und führen Sie ihn aus. Wir werden feststellen, dass keine Fehlermeldung angezeigt wird, was bedeutet, dass der Code erfolgreich ausgeführt wurde. Lassen Sie uns nun den Abstand zwischen „Blatt 1“ einfügen.

Kompilieren Sie den Code erneut und führen Sie ihn aus.

Wie wir oben sehen können, haben wir den korrekten Blattnamen als "Blatt 1" übernommen, auch wenn unser vollständiger Prozess und unsere Art, den Code zu schreiben, korrekt sind. Was in Wirklichkeit keinen Raum zwischen "Sheet1" hat.

Dies zeigt, dass immer noch die Gefahr besteht, dass ein Fehler auftritt, wenn der Name des Blattes oder der Arbeitsmappe nicht richtig geschrieben oder geschrieben wird.

VBA-Index außerhalb des zulässigen Bereichs - Beispiel 3

In diesem Beispiel wird gezeigt, wie die Auswahl eines falschen Array-Bereichs zu einem Laufzeitfehler führen und diesen anzeigen kann. 9. Beginnen Sie erneut, die Unterkategorie im Namen der ausgeführten Funktion zu schreiben, wie unten gezeigt.

Code:

 Sub Subscript_OutOfRange3 () End Sub 

Definieren Sie nun mit Hilfe von DIM ein Array beliebiger Größe und geben Sie es an String oder Integer weiter. Was davon abhängt, was wir in Array, Zahlen oder Text speichern wollen.

Hier haben wir ein Array von 2 × 3 als String betrachtet, wie unten gezeigt.

Code:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) As String End Sub 

Auf diese Weise wird eine Tabelle für 2 Zeilen und 3 Spalten erstellt, und wir können nach Bedarf beliebige Werte speichern. Da wir String ausgewählt haben, werden wir Text oder Buchstaben darin berücksichtigen.

Wählen Sie nun in der zweiten Codezeile das erstellte Array mit einer zusätzlichen oder mehreren Spalten aus und weisen Sie einen Text als ABC oder einen anderen Text nach Ihrer Wahl zu. Hier haben wir ein Array von 2 × 5 ausgewählt, wie unten gezeigt.

Code:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) As String SubArray (2, 5) = ABC End Sub 

Kompilieren Sie nun den Code und führen Sie ihn aus. Wie im folgenden Screenshot zu sehen ist, wurde die Fehlermeldung "VBA-Index außerhalb des gültigen Bereichs" mit dem Laufzeitfehler 9 angezeigt.

Der Grund für diesen Fehler liegt darin, dass wir einen falschen Array-Bereich innerhalb von 2 zusätzlichen Spalten von 2 × 3 bis 2 × 5 ausgewählt haben, was über die Codegrenze hinausgeht. Wenn wir nun wieder den richtigen Array-Bereich als 2 × 3 auswählen und sehen, was passiert.

Nach dem Kompilieren und Ausführen des Codes. Wir werden sehen, dass wir keinen Fehler erhalten haben, was bedeutet, dass unser Code erfolgreich ausgeführt wurde.

Vorteile von Excel VBA-Index außerhalb des gültigen Bereichs

  • Mit dem VBA-Index außerhalb des gültigen Bereichs können wir feststellen, welche Art von Fehler aufgetreten ist. Damit wir gezielt die Lösung des erhaltenen Fehlercodes finden können.
  • Da der VBA-Index außerhalb des Bereichs 'Laufzeitfehler 9' liegt, ist es hilfreich zu wissen, welche Art von Fehler in Excel aufgetreten ist.

Dinge, an die man sich erinnern sollte

  • Es wird empfohlen, Subcategory im Namen der ausgeführten Funktion mit einer Codesequenz zu verwenden, damit es einfach ist, sie ordnungsgemäß zu verfolgen.
  • Speichern Sie die Datei als Macro-Enabled Workbook, um den Verlust von geschriebenem Code zu vermeiden.
  • Wenn Sie große Codezeilen haben, ist es besser, jede Codezeile einzeln zu kompilieren, indem Sie die Taste F8 drücken. Diese Methode kompiliert jeden Codeschritt, sodass wir direkt wissen, welcher Codeabschnitt tatsächlich den Fehler aufweist.

Empfohlene Artikel

Dies war ein Leitfaden für Excel VBA-Index außerhalb des gültigen Bereichs. Hier diskutierten wir, warum ein VBA-Indexfehler außerhalb des gültigen Bereichs auftritt (Laufzeitfehler 9), zusammen mit einigen praktischen Beispielen und einer herunterladbaren Excel-Vorlage. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Wie zu beheben: VBA 1004 Fehler?
  2. Grundlegendes zu Fehlern in Excel
  3. Vollständige Anleitung zu VBA On Error
  4. Verwendung der IFERROR Excel-Funktion

Kategorie: