Nochmals ganz langsam, die Selbstverständlichkeiten wie ActiveSheet gehören natürlich zum Code - nur die lass ich hier weg.
x = ermittelt das zuletzt angebrachte Shape(Object)
.Hyperlinks.Add setzt den Anker auf dieses Shapes(x)(Object) und den Bezug mit Subaddress
Subaddress:= wiederum akzeptiert nur eine Zeichenfolgekette(String) und die im Format wie Excel eben Bezüge schreibt
Ein Bezug ist Blattname und "!" und Adresse in der A1 - Bezugsart
Bei der Ausführung der Methode .Add muss diese Zeichenkette feststehen und kann nicht gleichzeitig per Variable definiert werden!
Ergo, wenn du diese gesamte Kommandozeile (ich schreibe hier nur den Anfang)
ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Shapes(x), Address:=””, SubAddress:=
- wenn du sie variabel halten willst, musst diese Zeichenkette zuvor angepasst werden.
Als Krücke dazu geht z.B.
Variable = "XXX!A1"
Variable = replace(Variable,"XXX",TbName) - ersetze den Platzhalter XXX durch den Wert von TbName
ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Shapes(x), Address:=””, SubAddress:=Variable
jetzt klapt es, denn die Methode bekommt das erwartete Format
|