Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Hyperlinks / Ersetzen

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
Anzeige

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




Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Hyperlinks in Excel effizient ersetzen


Schritt-für-Schritt-Anleitung

Um Hyperlinks in Excel schnell zu ändern, kannst du VBA verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.

  3. Kopiere den folgenden VBA-Code in das Modul:

    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
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus: ALT + F8, wähle Hyperlink_NeuerPfad und klicke auf Ausführen.

Diese Methode erlaubt es dir, alle Hyperlinks in Excel schnell zu ändern, ohne sie manuell zu bearbeiten.


Häufige Fehler und Lösungen

  • Fehler: "Variable nicht definiert": Dieser Fehler tritt auf, wenn du eine nicht definierte Variable verwendest. Stelle sicher, dass du die Namen in deinem Code korrekt schreibst, wie im Beispiel oben (strAlterPfad und strNeuerPfad).
  • Hyperlinks werden nicht aktualisiert: Überprüfe die Pfade und stelle sicher, dass die Hyperlinks tatsächlich den alten Pfad enthalten.

Alternative Methoden

Eine weitere Möglichkeit, Hyperlinks in Excel zu ändern, ist die Verwendung des Suchen und Ersetzen-Befehls, jedoch funktioniert dies nicht für die Adressen der Hyperlinks. Eine VBA-Lösung ist hier effektiver.

Zusätzlich kannst du die Hyperlink-Adresse mit einer Formel ersetzen, indem du die Adresse zuerst in eine Zelle extrahierst, dort änderst und dann zurück in den Hyperlink einfügst.


Praktische Beispiele

Hier sind einige nützliche VBA-Skripte:

  1. **Alle Hyperlinks in einem bestimmten Arbeits

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige