Korrigieren des Indexfehlers außerhalb des Bereichs in Visual Basic für Applikationen (VBA)



Aktualisiert April 2024: Erhalten Sie keine Fehlermeldungen mehr und verlangsamen Sie Ihr System mit unserem Optimierungstool. Hol es dir jetzt unter diesen Link
  1. Laden Sie das Reparaturtool hier.
  2. Lassen Sie Ihren Computer scannen.
  3. Das Tool wird dann deinen Computer reparieren.

VBA-Index außerhalb des Bereichs Fehler tritt auf, weil das Objekt, auf das wir zugreifen möchten, nicht vorhanden ist. Dies ist eine Art Fehler in der VBA-Codierung und ein „Laufzeitfehler 9“. Es ist wichtig, die Konzepte zum Schreiben von effektivem Code zu verstehen, und es ist noch wichtiger, den Fehler Ihres VBA-Codes zu verstehen, um den Code effektiv zu debuggen.

Wenn Sie und Ihr Codierungsfehler nicht wissen, was dieser Fehler ist, wenn Sie abwesend sind.

Ein Arzt kann seinem Patienten keine Medikamente geben, ohne die Krankheit zu kennen. Während der Arzt und die Patientin wissen, dass eine Krankheit (ein Fehler) vorliegt, ist es wichtig, die Krankheit (den Fehler) als Medikamentengabe zu verstehen. Wenn Sie den Fehler vollständig verstehen, ist es viel einfacher, die Lösung zu finden.

Ein weiterer Grund kann sein, dass Sie keinen Standarddrucker auf Ihrem Computer haben. Es gibt verschiedene Lösungen, um dies zu lösen Laufzeitfehler 9-ProblemProbieren Sie sie alle in der richtigen Reihenfolge aus.

Hinzufügen eines Standarddruckers

  1. Schließen Sie einen Drucker an Ihren Computer an, schließen Sie das Netzkabel an und schalten Sie ihn ein.
  2. Gehen Sie zu "Start"> "Systemsteuerung"> "Drucker und Faxgeräte".
  3. Klicken Sie auf "Drucker hinzufügen" und befolgen Sie die Anweisungen auf dem Bildschirm, um einen Standarddrucker hinzuzufügen.

Überprüfen Sie die Arrays

Möglicherweise haben Sie einen falschen Wert für das Array-Element festgelegt. Es wird daher empfohlen, den Wert, den Sie für das Array-Element definiert haben, erneut zu überprüfen und sicherzustellen, dass er korrekt ist. Überprüfen Sie auch die Tabellendeklaration und die oberen und unteren Grenzwerte. Wenn die Größe der Tabellen geändert wurde, müssen Sie die Funktionen LBound und UBound verwenden, um den Zugriff zu konditionieren. Überprüfen Sie die Schreibweise des Variablennamens, wenn der Index eine Variable ist.

Definieren Sie die Anzahl der Elemente

In einigen Fällen haben Sie möglicherweise nicht die Anzahl der Elemente in Ihrem Code definiert, die den Fehler auslösen. Es wird empfohlen, die Anzahl der Elemente in der Tabelle mit den Funktionen Dim oder ReDim festzulegen.

So vermeiden Sie den Fehler "Out of Range Error Subscript" in VBA

Vermeiden Sie die in Excel integrierten Funktionen: ActiveWorkbook, ActiveSheet und Selection: Geben Sie die Rückgabewerte ein und bevorzugen Sie qualifizierte Ausdrücke.



Aktualisierung vom April 2024:

Sie können jetzt PC-Probleme verhindern, indem Sie dieses Tool verwenden, z. B. um Sie vor Dateiverlust und Malware zu schützen. Darüber hinaus ist es eine großartige Möglichkeit, Ihren Computer für maximale Leistung zu optimieren. Das Programm behebt mit Leichtigkeit häufig auftretende Fehler, die auf Windows-Systemen auftreten können – ohne stundenlange Fehlerbehebung, wenn Sie die perfekte Lösung zur Hand haben:

  • Schritt 1: Laden Sie das PC Repair & Optimizer Tool herunter (Windows 10, 8, 7, XP, Vista - Microsoft Gold-zertifiziert).
  • Schritt 2: Klicken Sie auf “Scan starten”, Um Windows-Registrierungsprobleme zu finden, die PC-Probleme verursachen könnten.
  • Schritt 3: Klicken Sie auf “Repariere alles”Um alle Probleme zu beheben.

herunterladen



Verwenden Sie die integrierten Makros nur einmal und nur in den meisten externen Makros (Subs) und erfassen Sie sie beim Starten des Makros, z

set wkb = ActiveWorkbook
set wks = ActiveSheet
Salzset = Auswahl
Während und in Makros sind diese integrierten Namen nicht zuverlässig, aber die Rückgabewerte werden aufgezeichnet, z

Setzen Sie wkb = Workbooks.add 'anstelle von Workbooks.add, ohne einen Rückgabewert einzugeben.
wkb.Activate 'anstelle von Activeworkbook.Activate
Versuchen Sie beispielsweise auch, qualifizierte Ausdrücke zu verwenden

wkb.Sheets ("Sheet3"). name = "foo" 'anstelle von Sheets ("Sheet3"). name = "foo".
or

Set newWks = wkb.Sheets.Add.
newWks.name = "bar" 'anstelle von ActiveSheet.name = "bar".
Verwenden Sie qualifizierte Ausdrücke, z

newWks.name = "bar" 'anstelle von "xyz.Select" gefolgt von Selection.name = "bar".
Diese Methoden funktionieren im Allgemeinen besser, führen zu weniger verwirrenden Ergebnissen, sind widerstandsfähiger gegenüber Umgestaltungen (z. B. Verschieben von Codezeilen innerhalb und zwischen Methoden) und funktionieren in allen Excel-Versionen besser. Beispielsweise ändert sich die Auswahl während der Ausführung des Makros von einer Excel-Version zur anderen.

Beachten Sie auch, dass Sie wahrscheinlich feststellen werden, dass Sie bei Verwendung qualifizierterer Ausdrücke nicht fast so viele Funktionen aktivieren müssen. (Dies kann bedeuten, dass der Bildschirm für den Benutzer weniger blinkt.) Also die gesamte Windows-Zeile (Ausdruckszeile). Activate kann einfach gelöscht werden, anstatt durch wkb ersetzt zu werden. Überhaupt aktivieren.

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/subscript-out-of-range-error-9



Expertentipp: Dieses Reparaturtool scannt die Repositorys und ersetzt beschädigte oder fehlende Dateien, wenn keine dieser Methoden funktioniert hat. Es funktioniert in den meisten Fällen gut, wenn das Problem auf eine Systembeschädigung zurückzuführen ist. Dieses Tool optimiert auch Ihr System, um die Leistung zu maximieren. Es kann per heruntergeladen werden Mit einem Klick hier