Herbers Excel-Forum - das Archiv

Hyperlinks ändern

Bild

Betrifft: Hyperlinks ändern
von: Holger

Geschrieben am: 15.02.2005 10:58:19
Ich habe leider weder im Archiv noch im Forum eine Lösung für folgendes Problem gefunden:
In meiner Excel-Datei sind sehr viele Arbeitsblätter. Um bestimmte Ergebnis-Zellen in bestimmeten Arbeitsblättern schnell zu erreichen, habe ich ein Tabellenblatt als Inhaltsverzeichnis aufgebaut. Von hier kann man über Hyperlinks in die Ergebnis-Zellen in den Arbeitsblättern
springen.
Jetzt wurden viele Arbeitsblätter umbenannt (z.B. "Plan-Ist" in "Planvergleich"). Die Hyperlinks funktionieren deswegen nicht mehr.
Ich möchte jetzt die Hyperlinks über VBA-Makro ändern. Folgende Lösung funktioniert bei mir nicht:
Sub Hyperlink_aendern()
Dim oldtext As String
Dim newtext As String
Dim h As Hyperlink
oldtext = "Plan-Ist"
newtext = "Planvergleich"
For Each h In ActiveSheet.Hyperlinks
x = InStr(1, h.Address, oldtext)
If x > 0 Then
h.Address = newtext
End If
Next
End Sub



Bild

Betrifft: AW: Hyperlinks ändern
von: Josef Ehrensberger

Geschrieben am: 15.02.2005 11:20:14
Hallo Holger!


Versuchs mal so.

Sub Hyperlink_aendern()
Dim h As Hyperlink
For Each h In ActiveSheet.Hyperlinks
Select Case h.SubAddress
Case "Plan-ist!A1"
h.SubAddress = "Planvergleich!A1"
Case "was-weis-ich!A1"
h.SubAddress = "jetzt-weis-ich's!A1"
Case Else
End Select
Next
End Sub


Gruß Sepp


P.S.: Rückmeldung nicht vergessen!
Bild

Betrifft: AW: Hyperlinks ändern
von: Holger

Geschrieben am: 15.02.2005 11:56:59
Hallo Sepp!
Danke für den Hinweis auf die Forumsregeln. Werde jetzt darauf achten.
Und danke für die schnelle Antwort. Leider funktioniert deine Lösung auch nicht. Ich habe es auch zu Testzwecken mit dem kompletten Hyperlink versucht:
Sub Hyperlink_aendern2()
Dim h As Hyperlink
For Each h In ActiveSheet.Hyperlinks
Select Case h.SubAddress
Case "\\SRV111\GeMEINSAM\Test2\Finanzbericht UK Master05.xls - 'Finanzfluss Plan-ist'!A9"
h.SubAddress = "\\SRV111\GeMEINSAM\Test2\Finanzbericht UK Master05.xls - 'FinanzflussPlanvergleich'!A9"
Case Else
End Select
Next
End Sub

Schönen Gruß
Holger
Bild

Betrifft: AW: Hyperlinks ändern
von: Josef Ehrensberger

Geschrieben am: 15.02.2005 12:11:05
Hallo Holger!
Der Pfad zur Datei ist .Address, die Tabelle ist .SubAddress!
Wenn die Datei gleich bleibt, dann sollte das aber schon klappen!
Sub Hyperlink_aendern2()
Dim h As Hyperlink
For Each h In ActiveSheet.Hyperlinks
Select Case h.SubAddress
Case "'Finanzfluss Plan-ist'!A9"
h.SubAddress = "FinanzflussPlanvergleich!A9"
Case Else
End Select
Next
End Sub

Die Hochkommas (') musst du nur bei Tabellennamen mit Leerzeichen verwenden!
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Bild

Betrifft: AW: Hyperlinks ändern
von: Holger

Geschrieben am: 15.02.2005 13:23:22
Hallo Sepp!
Danke, jetzt funktioniert es.
Allerdings ist der Zellbezug auf die Zelle "A9" nicht immer in den Hyperlinks gleich. Eigentlich müsste ich in über 100 Hyperlinks immer nur u.a. das "Plan-Ist" in "Planvergleich" ändern. Ist dafür der Ansatz in meinem 1. Beispiel zu gebrauchen? Oder gibt es dafür eine andere Lösung?
Schönen Gruß
Holger
Bild

Betrifft: AW: Hyperlinks ändern
von: Josef Ehrensberger

Geschrieben am: 15.02.2005 14:42:59
Hallo Holger!
Vielleicht so.
For Each h In ActiveSheet.Hyperlinks
h.SubAddress = Replace(h.SubAddress, "'Finanzfluss Plan-ist'", _
"FinanzflussPlanvergleich")
Next


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
 Bild
Excel-Beispiele zum Thema "Hyperlinks ändern"
URLs eines ausgewählten Bereiches in HyperLinks umwandeln HTML-Datei aus gefilterten Daten mit Hyperlinks aufbauen
Hyperlinks zu allen Excel-Dateien eines Verzeichnisses erstellen Hyperlinks zu SVERWEIS-Bezugstabellen anlegen
Aus Zelleintragungen Hyperlinks und HTML-Tabelle erstellen UserForm-TextBox-Inhalte mit Grafik-Hyperlinks einfügen
Zwei Hyperlinks in einer Zelle Hyperlinks zu einer Tabellenblattliste erstellen
Hyperlinks sollen mit Quell- und Zieladresse gelistet werden Hyperlinks in Text, Adresse und Sub-Adresse trennen