Clever-Excel-Forum

Normale Version: Hyperlink anpassen auf neues Tabellenblatt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

im Rahmen einer Bearbeitung muss ich einen Hyperlink anpassen. Der Zellbezug ändert sich bei jedem Durchgang.

Ich habe hierzu als Objektvariable


Code:
Dim hyAdresse As Hyperlink

definiert.

Dann kopiere ich einen bestimmten Bereich und möchte den kopierten Hyperlink anpassen.

Code:
With Range("C11").Offset(0, iMax)
        'Spalte B kopieren
        Range("C11:C44").Copy .Cells(1)
        'Firmennummer eintragen
        .Value = iMax + 1
        'Hyperlink anpassen
        .Hyperlinks(1).SubAddress = Replace(hyAdresse.SubAddress, "Firma 1", "Firma " & iMax + 1)

Hierbei lauf ich auf den Laufzeitfehler 91 - Objektvariable oder With-Blockvariable nicht festgelegt.

.Hyperlinks(1).SubAddress enthält den alten Hyperlink den es zu ändern gilt.

Was muss ich der Variablen zuweisen?

VG Michael
Hallo Zusammen,

habe die Lösung gefunden.

Set hyAdresse = ActiveSheets.Hyperlinks(1)

Dann funktioniert die Chose.
Leider doch nicht so wie ich zuerst dachte.

Leider verstehe ich die Sache mit dem Hyperlink nicht so richtig.

Hyperlinks(1) adressiert nach meinem Dafürhalten auf das 1. Element
einer Range die Hyperlinks enthält.

Wie kann ich aber nun auf das 2., 3. oder 5.Element der Range adressieren.

Hyperlinks(Variable) funktioniert nicht. Dazu habe ich bisher keine Erklärung
gefunden.

Vielleicht kann mir das jemand erklären.

Gruß Michael
Hallöchen,

was sagt denn das Überwachungsfenster bei ActiveSheet.Hyperlinks?

Du kannst zum Testen z.B. das laufen lassen:
Code:
Sub test()
MsgBox ActiveSheet.Hyperlinks.Count
For icnt = 1 To 2
Debug.Print ActiveSheet.Hyperlinks(icnt).Address
Next
End Sub

Wenn Du z.B. nur einen Hyperlink hast und die Schleife geht auf 2, kommt ein Fehler.
Wenn Du statt der 2 mit ActiveSheet.Hyperlinks.Count in die Schleife gehst, kommt keiner.