Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Hyperlink anpassen auf neues Tabellenblatt
#1
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
Antworten Top
#2
Hallo Zusammen,

habe die Lösung gefunden.

Set hyAdresse = ActiveSheets.Hyperlinks(1)

Dann funktioniert die Chose.
Antworten Top
#3
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
Antworten Top
#4
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste