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

Beiträge aus den Excel-Beispielen zum Thema "Hyperlinks ändern"