Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Hyperlinks / Ersetzen
29.09.2008 17:34:04
Bernd
Hallo,
ich habe in einer Datei ziemlich viele Hyperlinks gesetzt. Nun hat sich das Quellverzeichnis der Links geändert und ich würde gerne die Links anpassen. Leider reicht Suchen/Ersetzen nicht, da die hyperlinkspezifische Adresse (sichtbar, wenn man den Hyperlink bearbeitet) von dem Ersetzvorgang leider nicht erfasst wird. Gibt es eine andere Möglichkeit, ohne jeden einzelnen Link manuell anzupassen?
Gruß
Bernd

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks / Ersetzen
29.09.2008 18:42:00
Tino
Hallo,
hier mal eine Möglichkeit die mir dazu einfällt.
Altern Pfad und neuen Pfad musst du anpassen, diese werden dann auf der aktiven Tabelle ausgetauscht.
Modul Modul1
Option Explicit 
 
Sub Hyperlink_NeuerPfad() 
Dim hyLink As Hyperlink 
Dim strTempPfad As String 
 
Const strAlterPfad As String = "C:\AlterOrdner\" 'alter Pfad 
Const NeuerPfad As String = "C:\NeuerOrdner\" 'neuer Pfad 
     
    For Each hyLink In ActiveSheet.Hyperlinks 
     strTempPfad = Left$(hyLink.Address, InStrRev(hyLink.Address, "\")) 
        If strTempPfad = strAlterPfad Then 
          hyLink.Address = _
          NeuerPfad & Right$(hyLink.Address, Len(hyLink.Address) - InStrRev(hyLink.Address, "\")) 
        End If 
    Next hyLink 
 
End Sub 


Gruß Tino

Anzeige
AW: Hyperlinks / Ersetzen
30.09.2008 07:33:00
Beverly
Hi Bernd,
andere Möglichkeit

Sub hyperlink_inhalte_ersetzen()
Dim hyAdresse As Hyperlink
With Worksheets("Tabelle1").UsedRange
For Each hyAdresse In .Hyperlinks
hyAdresse.Address = Replace(hyAdresse.Parent.Formula, "D:\Eigene Dateien\Excel\", " _
C:\Test\")
Next hyAdresse
End With
End Sub




AW: Hyperlinks / Ersetzen
30.09.2008 10:42:00
Bernd
Hallo zusammen,
irgendwie scheint das mit dem Ersetzen bei mir nicht hinzuhauen. Vielleicht liegt es an der komplexen Ordnerstruktur?
Hier nochmals Details: Die besagten Dateien, also die Datei mit den Hyperlinks und die Quelldatei befinden sich in einem Monatsordner (z. B. 07/2008), wobei die Quelldatei dann eine Verzeichnisebene darunter liegt, also z.B.
07_2008 mit der Hyperlinkdatei und dann der Unterordner 310708 mit der Quelldatei
Dann lege ich einen neuen Monatsordne : 08_2008 an und den zugehörigen Tagesordner 310808 und kopiere die beiden Dateien aus dem "alten" Monatsverzeichnis herüber.
Wenn ich nun die Funktion in Excel "Hyperlinks" bearbeiten aufrufen, dann reicht es aus, wenn ich in der Adressleiste 310708 durch 310808 ersetze, der Pfad, denn ich dort sehe ich nicht vollständig, d.h. 07_08 fehlt z. B.. Mir ist zwar nicht klar, warum nur der Tagesordner angezeigt wird, aber es reicht aus, diesen Tagesordner manuell von 310708 auf 310808 zu ändern.
Könntet Ihr das bitte nochmal überrpüfen? Im Grunde genommen würde es wohl ausreichen die 310708 in der Adressleiste der Hyperlinks durch 310808 zu ersetzen.
Gruß
Bernd
Anzeige
AW: Hyperlinks / Ersetzen
30.09.2008 14:10:00
Tino
Hallo,
teste mal diese Version.
Option Explicit
 
Sub Hyperlink_NeuerPfad()
Dim hyLink As Hyperlink
Dim strTempPfad As String
 
Const strAlterPfad As String = "07_2008" 'alter Ordner 
Const NeuerPfad As String = "08_2008" 'neuer Ordner 
     
    For Each hyLink In ActiveSheet.Hyperlinks
     If InStr(hyLink.Address, strAlterPfad) > 0 Then
      strTempPfad = Replace(hyLink.Address, alterpfad, NeuerPfad)
      hyLink.Address = strTempPfad
     Next hyLink
 
End Sub


Gruß Tino

Anzeige
AW: Hyperlinks / Ersetzen
30.09.2008 14:56:00
Bernd
Hallo Tino,
leider bekomme ich für "alterpfad" die Fehlermeldung:
Fehler beim Kompilieren: Variable nicht definiert
Was ist falsch?
Gruß
Bernd
Fehler von mir!
30.09.2008 15:07:56
mir!
Hallo,
war ein Fehler von mir, sorry.
Option Explicit

Sub Hyperlink_NeuerPfad()
Dim hyLink As Hyperlink
Dim strTempPfad As String
 
Const strAlterPfad As String = "07_2008" 'alter Ordner 
Const strNeuerPfad As String = "08_2008" 'neuer Ordner 
     
    For Each hyLink In ActiveSheet.Hyperlinks
     If InStr(hyLink.Address, strAlterPfad) > 0 Then
      strTempPfad = Replace(hyLink.Address, strAlterPfad, strNeuerPfad)
      hyLink.Address = strTempPfad
     End If
    Next hyLink
 
End Sub


Gruß Tino

Anzeige
Danke / Jetzt gehts!!!!
30.09.2008 15:37:05
Bernd
Hallo,
jetzt klappt es! Super, danke vielmals!
Gruß
bernd

208 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige