Subscript außerhalb des Bereichs (Fehler 9)
Der Zugriff auf Elemente von Arrays und Member von Auflistungen ist nur innerhalb des definierten Bereichs möglich. Dieser Fehler hat die folgenden Ursachen, und er kann wie folgt gelöst werden:
Sie haben auf ein Arrayelement verwiesen, das nicht vorhanden ist. Der Index ist möglicherweise größer oder kleiner als der zulässige Bereich, oder dem Array sind an dieser Stelle in der Anwendung noch keine Dimensionen zugewiesen. Überprüfen Sie die Deklaration des Arrays auf seine oberen und unteren Grenzen. Definieren Sie mit den Funktionen UBound und LBound den Arrayzugriff, wenn Sie mit Arrays arbeiten, deren Dimensionen neu festgelegt werden. Überprüfen Sie die Schreibweise des Variablennamens, wenn der Index als Variable angegeben ist.
Sie haben ein Array deklariert, ohne die Anzahl der Elemente anzugeben. Dieser Fehler wird beispielsweise durch den folgenden Code verursacht:
Dim MyArray() As Integer MyArray(8) = 234 ' Causes Error 9.
Nicht angegebenen Arraybereichen wird von Visual Basic nicht implizit die Dimension 0-10 zugewiesen. Sie müssen stattdessen Dim oder ReDim verwenden, um die Anzahl der Elemente in einem Array explizit anzugeben.
Sie haben auf einen nicht vorhandenen Auflistungsmember verwiesen. Versuchen Sie, das For Each...Next-Konstrukt zu verwenden, anstatt die Indexelemente anzugeben.
Sie haben eine abgekürzte Form von tiefgestelltem Text verwendet, die implizit ein ungültiges Element angegeben hat. Wenn Sie beispielsweise den !-Operator mit einer Auflistung verwenden, gibt ! implizit einen Schlüssel an. Beispiel: Objekt!keyname. value entspricht object. item (keyname). value. In diesem Fall wird ein Fehler generiert, wenn keyname einen ungültigen Schlüssel in der Auflistung darstellt. Verwenden Sie eine gültigen Schlüsselnamen oder Index für die Auflistung.
Weitere Informationen erhalten Sie, indem Sie das fragliche Element auswählen und F1 (unter Windows) bzw. HILFE (unter Macintosh) drücken.
Hinweis
Haben Sie Interesse an der Entwicklung von Lösungen, mit denen die Funktionen von Office über mehrere Plattformen erweitert werden können? Schauen Sie sich das neue Office-Add-In-Modell an. Office-Add-Ins haben im Vergleich zu VSTO-Add-Ins und -Lösungen einen geringen Platzbedarf. Sie können sie mit fast jeder Web-Programmiertechnologie erstellen, z. B. HTML5, JavaScript, CSS3 und XML.
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.