Lesefehler 9
Mahlzeit,
als ein Kollege im Excel 2003 eine Tabelle speichern wollte, kam eine Fehlermeldung:
Microsoft Visual Basic
Laufzeitfehler '9':
Index außerhalb des gültigen Bereichs
Fortfahren Beenden Debuggen Hilfe
nun wollte ich mal wissen woran das liegen könnte und was ich dagegn machen kann? Ich hab schon mal probiert die Datei unter einem anderen Namen zu speichern da kam auch dieser Fehler Excel hat es dann aber trozdem gespeichert.
Vielen Dank für Antworten
MfG
PS: Das Betriebssystem ist Windows XP
als ein Kollege im Excel 2003 eine Tabelle speichern wollte, kam eine Fehlermeldung:
Microsoft Visual Basic
Laufzeitfehler '9':
Index außerhalb des gültigen Bereichs
Fortfahren Beenden Debuggen Hilfe
nun wollte ich mal wissen woran das liegen könnte und was ich dagegn machen kann? Ich hab schon mal probiert die Datei unter einem anderen Namen zu speichern da kam auch dieser Fehler Excel hat es dann aber trozdem gespeichert.
Vielen Dank für Antworten
MfG
PS: Das Betriebssystem ist Windows XP
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 60518
Url: https://administrator.de/contentid/60518
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
12 Kommentare
Neuester Kommentar
Hallo HackerX!
Hört sich nach einer VBA-Fehlermeldung wie etwa beim versuchten Zugriff auf ein inzwischen umbenanntes Tabellenblatt durch ein Autostart-Makro an.
Schau mal mit Alt-F11 in den VBA-Editor und dort per Doppelklick auf "Diese Arbeitsmappe" (links oben unter "Projekt - VBAProjekt"), ob ein "Private Sub Workbook_Open()" existiert. Eine weitere Möglichkeit wäre ein "Sub auto_open()" in einem Modul.
Grüße
bastla
Hört sich nach einer VBA-Fehlermeldung wie etwa beim versuchten Zugriff auf ein inzwischen umbenanntes Tabellenblatt durch ein Autostart-Makro an.
Schau mal mit Alt-F11 in den VBA-Editor und dort per Doppelklick auf "Diese Arbeitsmappe" (links oben unter "Projekt - VBAProjekt"), ob ein "Private Sub Workbook_Open()" existiert. Eine weitere Möglichkeit wäre ein "Sub auto_open()" in einem Modul.
Grüße
bastla
Hallo HackerX!
Wenn ich "speichern" von "öffnen" unterscheiden könnte, hätte ich Deine Frage oben gleich richtig interpretiert ...
Ja, der Fehler wird mit größter Wahrscheinlichkeit im von Dir angegebenen Sub zu finden sein, wobei es neben dem genannten Beispiel "nicht (mehr) existente Tabelle" noch mehrere Möglichkeiten für einen "Index außerhalb des gültigen Bereichs" gibt - am Besten, Du stellst einmal den Code herein.
Grüße
bastla
Wenn ich "speichern" von "öffnen" unterscheiden könnte, hätte ich Deine Frage oben gleich richtig interpretiert ...
Ja, der Fehler wird mit größter Wahrscheinlichkeit im von Dir angegebenen Sub zu finden sein, wobei es neben dem genannten Beispiel "nicht (mehr) existente Tabelle" noch mehrere Möglichkeiten für einen "Index außerhalb des gültigen Bereichs" gibt - am Besten, Du stellst einmal den Code herein.
Grüße
bastla
Hallo HackerX!
Was Du überprüfen könntest:
Wenn die oben beschriebenen Bedingungen erfüllt sind, solltest Du (da auch noch ein nicht dargestelltes "Sub SpaltenBestimmen" aufgerufen sowie eine vorerst unbekannte Variable "Kunde" verwendet wird und auch die Struktur der Tabellen von Bedeutung ist) einfach einmal beim Auftauchen der Fehlermeldung "Debuggen" wählen - dann wird die Programmzeile angezeigt, in der der Fehler aufgetreten ist. Damit kann dann gezielter Ursachenforschung betrieben werden.
Grüße
bastla
Was Du überprüfen könntest:
- Gibt es die Tabellen mit den Namen "Kapa", "PPS" und "Parameter"?
- In der Tabelle "Kapa" muss ein benannter Bereich "Datenbereich" existieren, in "Parameter" ein Bereich "LogListe".
Wenn die oben beschriebenen Bedingungen erfüllt sind, solltest Du (da auch noch ein nicht dargestelltes "Sub SpaltenBestimmen" aufgerufen sowie eine vorerst unbekannte Variable "Kunde" verwendet wird und auch die Struktur der Tabellen von Bedeutung ist) einfach einmal beim Auftauchen der Fehlermeldung "Debuggen" wählen - dann wird die Programmzeile angezeigt, in der der Fehler aufgetreten ist. Damit kann dann gezielter Ursachenforschung betrieben werden.
Grüße
bastla
Hallo HackerX!
Eine Zeile ist zu wenig. Ich kann Dir zum Programmteil
noch eine kurze Beschreibung liefern, aber vermutlich dann auch nicht mehr beitragen ...
Zweck des Codes oben ist es, die Daten ab der zweiten Zeile der "Logliste" nach unten zu verschieben (wobei der älteste Eintrag in der 35. Zeile entfernt wird), damit in der zweiten Zeile eine Userkennung und der Speicherzeitpunkt (Datum und Uhrzeit) in 2 Spalten nebeneinander eingetragen werden können - im Normallfall sollten also (vermutlich unter einer Überschrift in der ersten Zeile) 34 Datensätze zur Dokumentation des Speicherns zu finden sein.
Grüße
bastla
Eine Zeile ist zu wenig. Ich kann Dir zum Programmteil
arrTemp = ShPara.Range("LogListe").CurrentRegion
For x = 35 To 3 Step -1
arrTemp(x, 1) = arrTemp(x - 1, 1)
arrTemp(x, 2) = arrTemp(x - 1, 2)
Next x
arrTemp(2, 1) = UCase(getUserInitials)
arrTemp(2, 2) = Now()
ShPara.Range("LogListe").CurrentRegion = arrTemp
Zweck des Codes oben ist es, die Daten ab der zweiten Zeile der "Logliste" nach unten zu verschieben (wobei der älteste Eintrag in der 35. Zeile entfernt wird), damit in der zweiten Zeile eine Userkennung und der Speicherzeitpunkt (Datum und Uhrzeit) in 2 Spalten nebeneinander eingetragen werden können - im Normallfall sollten also (vermutlich unter einer Überschrift in der ersten Zeile) 34 Datensätze zur Dokumentation des Speicherns zu finden sein.
Grüße
bastla