Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Index Außerhalb des gültigen Bereichs?





Frage

Nach dem 42 Datensatz kommt die oben genannte Fehlermeldung, kann mir jemand weiter helfen?? Dim Adresse1 As String Dim Adreess2 As String Dim i As Integer Sub UmwandlungInHyperlink() i = 0 For i = 2 To 100 'Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row ActiveWindow.ScrollColumn = i Range("B" & i).Select Adresse1 = ActiveCell.Cells Range("A" & i).Select Adresse2 = ActiveCell.Cells Range("B" & i).Select Selection.Hyperlinks(1).Address = _ Adresse1 & "\" & Adresse2 Next i End Sub

Antwort 1 von todwat

Hab das Danke vergessen für alle die sich die Mühe machen über meine, wahrscheinlich banale Frage, den Kopf zu zerbrechen.

MfG
todwat

Antwort 2 von ProxYa

Hi!

Ich hab über die "banale" Frage schon nachgedaht, seh aber auf Anhieb auch keinen Fehler.
Kommt da nicht irgendwie noch ein Verweis zu der genauen Stelle, an der dieser Fehler auftritt??

Wenn nein, lass es mal im Einzelschrittmodus durchlaufen, um die entspr. Stelle zu finden.

Ist der Code oben der gesamte der Arbeitsmappe/Tabelle/Modul ??

Greets, ich

Antwort 3 von todwat

Tja an dieser Stelle


Selection.Hyperlinks(1).Address = _
    Adresse1 & "\" & Adresse2


taucht die Fehlermeldung auf:

Laufzeitfehler: 9

Index außerhalb des gültigen Bereichs!

In Excel ist das dann die 42 Zeile. Egal an welcher Stelle ich versuche das Script nun aus zu führen kommt immer wieder die selbe Meldung.
Ich stehe völlig auf dem Schlauch.

MfG Todwat



Antwort 4 von ProxYa

Versuch es mal bitte mit dieser (ungetesteten) Alternative.
Sie müsste die gleiche Funktionalität haben, nur hoffentlich ohne Fehler :)


Dim Adresse1 As String
Dim Adreess2 As String
Dim i As Integer

Sub UmwandlungInHyperlink()
  i = 0
  For i = 2 To 100 'Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
    Adresse1 = Cells(i,2)

    Adresse2 = Cells(i,1)
    Cells(i, 2).Hyperlinks(1).adress = Adresse1 & "/" & Adresse2
  Next i
End Sub


Greets, ich

Antwort 5 von todwat

Tag, danke für die Antwort, leider funktioniert die Funktion so nicht. Es kommt eine Fehlermeldung, das das Objekt die Eigenschaft oder Methode nicht unterstützt, an der Stelle Cells(i, 2).Hyperlinks.....
Zur Info ich habe Office 97, funktioniert das vielleicht ab 2000?

Gruß todwat

Antwort 6 von seico_sid

versuch mal das du nicht nur auf das object cells referenzierst sondern auf das gesamte objekt wie z.b.


Application.Worksheets("Tabellenname").cells(a,b).value


wenn das funktioniert sollteste zur vereinfachung
sowas einsetzen wie


Dim objZielTabelle as Worksheet
set objZielTabelle = Application.Worksheets("Tabellenname")


das kannste dann später ohne den ganzen wust nur als objZielTabelle.cells ansprechen oder mit der with methode auf mehrere unterobjekte referenzieren

regards

<SID>

Antwort 7 von todwat

Habs jetzt nach langem hin und her gelöst!


i = 0
    For i = 2 To 65000
            Range("B" & i).Select
            Adresse1 = Cells(i, 1)
            Range("A" & i).Select
            Adresse2 = Cells(i, 2)
            Range("B" & i).Select
            Cells(i, 3) = Adresse2 & "\" & Adresse1
            Cells(i, 3).Select
            ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
                Cells(i, 3)
        Next i

Also ich weise jetzt den Inhalt einer zelle zu, statt den Variablen selbst.

Vielen Dank an alle!