Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Index ausserhalb des gültigen Bereichs
26.08.2022 15:18:07
Kina
Hallo zusammen,
Ich hatte vor Ewigkeiten einen VBA Code programmiert und der hat immer super funktioniert. Jetzt habe ich auf 365 Business gewechselt und seither kriege ich die Fehlermeldung Fehler Nr. 9: Index ausserhalb des gültigen Bereichs. Es befindet sich kein Pfad im Code der angepasst werden müsste. Woran könnte das liegen?
Danke für Euren Input
Kina

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Index ausserhalb des gültigen Bereichs
26.08.2022 15:28:51
GerdL
Hallo Kina,
zum Beispiel
an geänderten Blattnamen ?
An Variablen vom Typ "Integer" statt "Long" für Zeilenermittlungen ?
Gruß Gerd
AW: Index ausserhalb des gültigen Bereichs
26.08.2022 15:40:13
Kina
Hallo Gerd,
Die Files sind alle 1:1 die selben, nur der Speicherort hat sich geändert und die Files sind über neue Hyperlinks verknüpft.
Hier einer der Codes:

Private Sub cmdEnter_Click()
'Fügt die eingetragenen Werte ins Tabellenblatt und schliesst das Formular frmContacts
Dim find As Boolean
Dim rng As Range
Dim wkbKontakt As Workbook, wksKontakt As Worksheet
On Error GoTo Fehler
'Spalte A nach wert durchsuchen
Set rng = Sheets("Metafile").Range("A:A").find(What:=cbbClient.Text, LookAt:=xlWhole, _
LookIn:=xlValues)
'Wenn wert entdeckt
If rng Is Nothing Then
find = False
MsgBox "Contact """ & cbbClient.Text & """ not found", vbInformation, _
"Search Contact in Metafile row A"
Else
find = True
If rng.Hyperlinks.Count > 0 Then
Application.EnableEvents = False
rng.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Set wkbKontakt = ActiveWorkbook
Set wksKontakt = wkbKontakt.Sheets("Contacts")
wksKontakt.Rows("9:9").Insert Shift:=xlDown
With Me.txtDate
If .Value  "" Then wksKontakt.Range("B9").Value = Me.txtDate.Value
End With
With Me.cbbIniciator
If .ListIndex  -1 Then wksKontakt.Range("C9").Value = Me.cbbIniciator.Value
End With
With Me.cbbChannel
If .ListIndex  -1 Then wksKontakt.Range("D9").Value = Me.cbbChannel.Value
End With
With Me.txtSubject
If .Value  "" Then wksKontakt.Range("E9").Value = Me.txtSubject.Value
End With
wkbKontakt.Save
Application.EnableEvents = True
Else
MsgBox "Zum Klienten """ & txtClient.Text & """ gibt es keinen Hyperlink", _
vbInformation, "Prüfen ob Klient ein Hyperlink zugeordnet ist"
End If
End If
Fehler:
With Err
Select Case .Number
Case 0 'Alles OK
Case -2147221014
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Datei """ & rng.Hyperlinks(1).Address & """ zum Hyperlink  existiert nicht"
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
Application.EnableEvents = True
Unload frmNewContact
End Sub

Anzeige
AW: Index ausserhalb des gültigen Bereichs
26.08.2022 16:10:10
Herbert_Grom
Hallo Kina,
probiers mal damit: Wenn du in einem deiner Codes eine "Function" verwendest, die mit

"Private Declare Function ..."
deklariert wird, dann nimm das:

"Private Declare PtrSafe Function ..."
und mach aus "Long" mal "LongPtr".
Ansonsten müsstest du mal alle verwendeten Dateien hochladen.
Servus
AW: Index ausserhalb des gültigen Bereichs
26.08.2022 16:25:13
Kina
Hallo Herbert,
Ich habe keine "Private Declare Function ..." nur "Private Sub" und keine "Long" siehe Code oben.
Danke Dir!
AW: Index ausserhalb des gültigen Bereichs
26.08.2022 16:32:06
Herbert_Grom
Hallo Kina,
dann wird es ohne Beispieldateien kaum möglich sein, den Fehler zu lokalisieren, jedenfalls für mich.
Servus
Anzeige
AW: Index ausserhalb des gültigen Bereichs
26.08.2022 17:40:53
Daniel
Hi
Du solltest uns schon sagen, in welcher Programmzeile der Fehler auftritt.
Deaktiviere dazu bitte ggf das On Error Goto.
Gruß Daniel
AW: Index ausserhalb des gültigen Bereichs
29.08.2022 10:23:37
Kina
Hallo Daniel,
Verzeihung, ich habe jetzt den Debugger gestarted und der zeigt folgende Zeile an welche im Anschluss an den Code oben kommt (die erste mit Private Sub):

Private Sub UserForm_Initialize()
'Werte beim Aufruf des Formulars eintragen. Formular initialisieren
With Me
.txtDate.Value = Date
.cbbClient.List = Range("Client_Name").Value
With Me.cbbIniciator
.AddItem "-"
.AddItem "Client"
End With
With Me.cbbChannel
.AddItem "-"
.AddItem "Phone"
End With
End With
End Sub

Anzeige
AW: Index ausserhalb des gültigen Bereichs
29.08.2022 10:40:38
Rudi
Hallo,
der Fehler wird u.a. durch setzen einer Objektvariable auf ein nicht existierendes Blatt ausgelöst.
Setz dir einen Haltepunkt und geh den Code mit F8 durch.
Vermutlich streikt's hier:
Set wksKontakt = wkbKontakt.Sheets("Contacts")
Gruß
Rudi

112 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige