Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Index außerhalb des gültigen Bereiches

Index außerhalb des gültigen Bereiches
21.03.2021 10:16:09
Ulrich
Hallo Zusammen,
ich habe eine Frage.
In der Beispieldatei kann ich über den Button "Suchen" ein userform Feld öffnen und dort einen Suchbegriff eingeben.
Die Treffer werden mir dann dort angezeigt.
Wenn ich dort einen Treffer anklicke wird normalerweise die entsprechende Zeile markiert.
Jetzt kommt immer der Fehler: Laufzeitfehler 9 "Index außerhalb des Gültigen Bereiches "
Kann mir hier einer helfen?
Ich bekomme den Fehler nicht behoben.
Viele Grüße Ulli
https://www.herber.de/bbs/user/144986.xlsm

Anzeige

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Index außerhalb des gültigen Bereiches
21.03.2021 10:24:12
Hajo_Zi
Hallo Ulli
TabZiel ist "" und die Tabelle gibt es nicht.
Bild
Homepage

Anzeige
AW: Index außerhalb des gültigen Bereiches
21.03.2021 10:38:35
Ulrich
Hallo Hajo,
die gleiche Prozedur läuft aber in einer anderen Datei ohne Fehler, dort gibt auch keine Tabelle (Arbeitsblatt)"TabZiel"
TabZiel wird hier ja auch noch einmal gleichgesetzt
Kann es damit irgendwie zusammenhängen?
With Me.ListBox1
TabZiel = .List(.ListIndex, 8)
ZeiZiel = .List(.ListIndex, 9)
End With
Grundsätzlich wird der Suchbegriff ja auch gefunden, nur er springt nicht dahin.
Gruß Ulli

Anzeige
AW: Index außerhalb des gültigen Bereiches
21.03.2021 10:40:27
Hajo_Zi
Hallo Uli,
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link
4. STRG+ Link mit Maus aktivieren
Gruß Hajo

Anzeige
AW: Index außerhalb des gültigen Bereiches
21.03.2021 10:52:22
Ulrich
Hallo Hajo,
danke für deine Nachricht.
Die andere Datei ist zu komplex um sie hochzuladen.
In dieser Datei geht ja auch alles, nur die Sprunganweisung zu der gefundenen Zeile bringt den Fehler.
Vielleicht ist es ja nur eine Kleinigkeit und einer findet es.
Gruß Ulli

AW: Index außerhalb des gültigen Bereiches
21.03.2021 10:54:44
Hajo_Zi
Hallo Uli,
die Kleinigkeit hatte ich schon mitgeteilt. Das möchtest Du nicht abstellen.
Viel erfolg noch.
Gruß Hajo

Anzeige
AW: Index außerhalb des gültigen Bereiches
21.03.2021 11:02:14
Werner
Hallo,
in der Beispielmappe ergibt deine Suche nur zwei Spalten in der Listbox. Ich nehme mal an, dass das bei deiner Originaldatei nicht der Fall ist und du bei einem Treffer mehr Ergebnisspalten in der Listbox angezeigt bekommst.
Insofern bringt deine "abgespeckte" Version hier nichts. Da bräuchte man zumindest eine Beispielmappe, die auch alle Ergebnisspalten in der Listbox auswirft.
Zudem sollte dann auch noch bekannt sein, in welcher der Ergebnisspalten der Listbox sich der Name des Tabellenblattes "versteckt" auf das du wechseln willst.
So bringt das jetzt leider gar nichts.
Vermutlich sprichst du den falschen Spaltenindex in deiner Listbox an.
Gruß Werner

Anzeige
AW: bei mir kommt kein Fehler
21.03.2021 11:03:21
JoWE

doch schon...
21.03.2021 11:16:44
Werner
Hallo,
...wenn du einen "Fund" in der Listbox auswählst schon.
Gruß Werner

AW: eben nicht (!) in der hochgeladenen Mappe
21.03.2021 11:26:33
JoWE

Anzeige
AW: komisch, jetzt doch - nehme alles zurück
21.03.2021 11:30:40
JoWE

AW: doch schon...
21.03.2021 11:32:43
Ulrich
Hallo Werner,
danke für deine Nachricht.
Ich habe jetzt mal in jeder Spalte etwas reingeschrieben.
Über "suchen" wird auch alles gefunden.
Nur das anspringen der Zeile verursacht den Fehler.
Gruß Ulli
https://www.herber.de/bbs/user/144991.xlsm

Anzeige
AW: doch schon...
21.03.2021 11:35:59
Werner
Hallo,
warum lässt du dir eigentlich alle Infos aus der Nase ziehen.
In welchem Blatt soll die entpsrechende Zeile/Zelle angesprungen werden?
Gruß Werner

AW: doch schon...
21.03.2021 11:39:49
Ulrich
Hallo Werner,
eigentlich nur im aktuellen Tabellenblatt "Übersicht"
Gruß Ulli

AW: doch schon...
21.03.2021 11:51:45
JoWE
hier bleibt TabZiel leer "", dann kommt späüter der Fehler
With Me.ListBox1
TabZiel = .List(.ListIndex, 8) 'bleibt 0
ZeiZiel = .List(.ListIndex, 9)

Anzeige
AW: doch schon...
21.03.2021 11:56:03
Ulrich
Hallo JoWe,
wenn ich im Suchfenster "gesamte Arbeitsmappe" eingebe funktioniert die Sprunganweisung.
Bei nur "aktives Tabellenblatt" nicht.
Kann man das noch ändern das es auch bei "aktives Tabellenblatt" geht?
Gruß Ulli

AW: doch schon...
21.03.2021 11:56:56
Ulrich
Hallo Werner,
wenn ich im Suchfenster "gesamte Arbeitsmappe" eingebe funktioniert die Sprunganweisung.
Bei nur "aktives Tabellenblatt" nicht.
Kann man das noch ändern das es auch bei "aktives Tabellenblatt" geht?
Gruß Ulli

Anzeige
AW: doch schon...
21.03.2021 12:07:07
Ulrich
Hallo Werner,
also wenn ich nur im aktiven Tabellenblatt suche wird mir im Suchfenster der Tabellenblattname rechts im Fenster nicht angezeigt, wenn ich in der gesamten Arbeitsmappe suche dann wird der Tabellenblattname mit angezeigt und die Sprunganweisung funktioniert.
Könnte man es ändern das auch bei der Suche nur im "aktiven Tabellenblatt" der Tabellenblattname mit angezeigt wird und entsprechend der die Zeile angesprungen werden kann?
Gruß Ulli

Anzeige
AW: doch schon...
21.03.2021 12:11:34
JoWE
ändere den Code in in "Listbox1_click"
    With Me.ListBox1
If chk_aktiv.Value = True Then
TabZiel = ActiveSheet.Name
Else
TabZiel = .List(.ListIndex, 8)
End If
ZeiZiel = .List(.ListIndex, 9)
End With
Gruß
Jochen

AW: doch schon...
21.03.2021 12:21:48
Ulrich
Hallo Jowe,
super Funktioniert !!
Vielen Dank
Gruß Ulli

Anzeige
AW: gerne, danke für die Rückmeldung
21.03.2021 12:22:55
JoWE
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Index außerhalb des gültigen Bereiches beheben


Schritt-für-Schritt-Anleitung

Um den Laufzeitfehler 9: "Index außerhalb des gültigen Bereiches" zu beheben, kannst du die folgenden Schritte ausführen:

  1. Überprüfe die ListBox: Stelle sicher, dass die ListBox die richtigen Spalten enthält. Wenn die ListBox weniger Spalten hat, als du in deinem Code angesprochen hast, führt das zu diesem Fehler.

  2. Code anpassen: Ändere den Code in der ListBox1_Click-Prozedur wie folgt:

    With Me.ListBox1
        If chk_aktiv.Value = True Then
            TabZiel = ActiveSheet.Name
        Else
            TabZiel = .List(.ListIndex, 8)
        End If
        ZeiZiel = .List(.ListIndex, 9)
    End With
  3. Tabellenblatt überprüfen: Vergewissere dich, dass das angegebene Tabellenblatt existiert. Wenn TabZiel leer ist, wird der Fehler angezeigt.

  4. Suchbereich anpassen: Wenn du nur im aktiven Tabellenblatt suchst, stelle sicher, dass der Tabellenblattname in der ListBox angezeigt wird, damit die Sprunganweisung korrekt funktioniert.


Häufige Fehler und Lösungen

  • Leeres TabZiel: Wenn TabZiel leer ist, kann dies zu laufzeitfehler 9 index außerhalb des gültigen bereichs führen. Überprüfe, dass die ListBox die korrekten Werte enthält.
  • Falscher Spaltenindex: Wenn du auf einen Spaltenindex zugreifst, der nicht existiert, wird der Fehler ausgelöst. Stelle sicher, dass du den richtigen Index verwendest.
  • Tabelle existiert nicht: Wenn du versuchst, auf ein Tabellenblatt zuzugreifen, das nicht existiert, wird der Fehler ebenfalls angezeigt. Überprüfe die Namen der Tabellenblätter in deiner Arbeitsmappe.

Alternative Methoden

Wenn die oben genannten Lösungen nicht funktionieren, kann folgende alternative Methode ausprobiert werden:

  • Debugging: Verwende Debugging-Tools in VBA, um den Wert von TabZiel und ZeiZiel zu überprüfen, bevor die Zeile angesprungen wird. Du kannst dazu Debug.Print verwenden, um Informationen in das Direktfenster auszugeben.
Debug.Print "TabZiel: " & TabZiel
Debug.Print "ZeiZiel: " & ZeiZiel
  • Error Handling: Implementiere Fehlerbehandlung in deinem Code, um den Fehler abzufangen und besser zu verstehen, wo er auftritt.
On Error Resume Next
' Dein Code hier
If Err.Number <> 0 Then
    MsgBox "Fehler: " & Err.Description
End If

Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie du den Fehler vermeiden kannst:

Private Sub ListBox1_Click()
    Dim TabZiel As String
    Dim ZeiZiel As Long

    With Me.ListBox1
        If chk_aktiv.Value = True Then
            TabZiel = ActiveSheet.Name
        Else
            TabZiel = .List(.ListIndex, 8)
        End If

        ZeiZiel = .List(.ListIndex, 9)

        ' Prüfen, ob das Tabellenblatt existiert
        If Not IsError(Application.Match(TabZiel, ThisWorkbook.Sheets, 0)) Then
            ThisWorkbook.Sheets(TabZiel).Activate
            Application.Goto Reference:=ThisWorkbook.Sheets(TabZiel).Cells(ZeiZiel, 1)
        Else
            MsgBox "Tabellenblatt nicht gefunden!"
        End If
    End With
End Sub

Tipps für Profis

  • Nutze Namensbereiche: Wenn du mit großen Datenmengen arbeitest, kann die Verwendung von Namensbereichen in Excel helfen, den Code übersichtlicher zu gestalten und Fehler zu vermeiden.
  • Fehlermeldungen anpassen: Ersetze die Standardfehlermeldungen durch benutzerdefinierte Meldungen, um die Benutzererfahrung zu verbessern.
  • Dokumentiere deinen Code: Halte deinen Code gut dokumentiert, um zukünftige Fehler leichter identifizieren und beheben zu können.

FAQ: Häufige Fragen

1. Was bedeutet der Fehler "Index außerhalb des gültigen Bereiches"? Der Fehler tritt auf, wenn auf ein Element zugegriffen wird, das nicht existiert, wie z.B. ein nicht vorhandenes Tabellenblatt oder eine nicht vorhandene Zeile.

2. Wie kann ich den Fehler dauerhaft vermeiden? Stelle sicher, dass die Indizes, auf die du zugreifst, immer innerhalb der Grenzen der ListBox oder der Tabellenblätter liegen. Verwende Überprüfungen und Debugging, um potenzielle Probleme frühzeitig zu erkennen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige