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

Forumthread: Hyperlinks anpassen nach Ordneränderung - Makro

Hyperlinks anpassen nach Ordneränderung - Makro
15.02.2016 09:29:13
Johannes
Hallo zusammen,
ich bin gerade dabei eine neue Ordnerstruktur zu generieren.
Nun passen natürlich die ganzen alten Hyperlinks in der Excel Datei nicht mehr.
Die Liste befindet sich unter:
.. \01_xx\06_yy\03_Liste\Übersichtsliste
Die Aufträge befinden sich nun auf demselben Laufwerk in einem anderen Ordner mit anderer Unterstruktur.
..\01_xx\06_yy\02_Aufträge\01_Märkte\01_Region\01_Markt\Auftrag xy
Aufgrund der Verschiebung der ganzen Aufträge in die neue (o. g. ) Ordnerstruktur, haben die Links z. B. nun folgende Verlinkung
.. \01_xx\06_yy\03_Liste\01_Markt\Auftrag xy
Dieser Ordner existiert aber nicht, da die Ordner 01_Markt\Auftrag xy ja unter 02_Aufträge und nicht unter 03_Liste zu finden sind.
Ich hatte mal ein ähnliches Problem, da bin ich auf ein Makro gestoßen welches mir weitergeholfen hat.
Nun habe ich versucht dieses abzuändern. Leider klappt das irgendwie nicht.
Habt ihr ne Ahnung wie ich das richtig hinbekomme?
Müsste sonst über 10000 Verlinkungen manuell andern….
Sub hyperhyper()
Dim HypLink As Hyperlink
Dim strNeueURL As String
alt = ".. \01_xx\06_yy\03_Liste\"
neu = "..\01_xx\06_yy\02_Aufträge\01_Märkte\01_Region\01_Markt\..\"
For Each HypLink In ActiveSheet.Hyperlinks
strNeueURL = Replace(HypLink.Address, alt, neu)
HypLink.Address = strNeueURL
HypLink.TextToDisplay = HypLink.TextToDisplay
Next
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks anpassen, klappt nicht!
15.02.2016 09:57:57
EtoPHG
Hallo Johannes,
Nun habe ich versucht dieses abzuändern. Leider klappt das irgendwie nicht.
Ist eine super Fehlerbeschreibung. Man weiss sofort, wo, wann und unter welchen Bedingungen es nicht klappt!
Habt ihr ne Ahnung wie ich das richtig hinbekomme?
Vielleicht, wenn wir wüssten, was nicht klappt.
Klappe, Hansueli

Anzeige
AW: Hyperlinks anpassen, klappt nicht!
15.02.2016 12:43:27
Johannes
Hallo Hansueli,
ok, dann anders herum gefragt.
In meinen Listen laufen die Hyperlinks gerade auf folgenden Pfad:
.. \01_xx\06_yy\03_Liste\01_Markt\Auftrag_xy.pdf
Die Hyperlinks sollten aber zukünftig auf foldenen Pfad laufen:
..\01_xx\06_yy\02_Aufträge\01_Märkte\01_Region\01_Markt\Auftrag_xy.pdf
Also in einem anderen Ordner auf dem selben Laufwerk.
Kann mir hierzu jemand ein Makro zur Verfügung stellen, welches die Verlinkungen im gesamten Arbeitsblatt ändert?
Die Endungen der Hyperlinks (01_Markt\Auftrag_xy.pdf) soll allerdings erhalten bleiben, da die ursprünglichen Ordner koplett in den neuen Überordner verschoben werden.
Verstanden?
Viele Grüße
Johannes

Anzeige
AW: Hyperlinks anpassen, klappt nicht!
16.02.2016 08:01:14
EtoPHG
Hallo Johannes,
Genau das macht das Makro für das gerade aktive Tabellenblatt.
Natürlich müssen die Variablen alt und neu genau in der Schreibweise der auszutauschenden Texte der Pfade übereinstimmen. Das Makro funktioniert nur für 'echte' Hyperlinks und nicht für solche, die über eine Hyperlink-Formel erstellt wurden.
Wenn du damit nicht weiterkommst, lade eine Beispielmappe hoch, die mind. 2-3 Hyperlink Beispiele enthält.
Gruess Hansueli

Anzeige
AW: Hyperlinks anpassen, klappt nicht!
16.02.2016 08:47:05
Johannes
Hallo Hansueli,
funktioniert irgendwie immer noch nicht.
Habe mal eine neue Arbeitsmappe erstellt.
Diese beihnhlatet falsche Links (bedeuted Links mit dem alten Verweis),
richtige Links (bedeutet händisch geänderte Verlinkungen auf die richtige Datei)
sowie Screenshots der Ordner um die Ornerstruktur zu verstehen.
Zur Erklärung der Ordnerstruktur:
Früher war der Ordner 01_Kunde Unbekannt in dem Überordner 03_Liste. Ich habe ihn in 02_Aufträge und unter die entsprechenden Unterordner verschoben.
Des Weiteren hab ich auch noch ein Screenshot des Makros mit angehängt, mit welchen ich versucht habe die "falschen Links" in "richtige Links" umzuwandeln.
Hoffe das hilft weiter.
https://www.herber.de/bbs/user/103579.xlsm

Anzeige
AW: Hyperlinks anpassen, klappt nicht!
16.02.2016 10:05:33
EtoPHG
Hallo,
Sorry aber mit Bildchen kann ich nichts anfangen.
Führe mal diesen Code im VBE aus:
Option Explicit
Sub hyperhyper()
Dim HypLink As Hyperlink
Dim strNeueURL As String
Dim alt As String, neu As String
alt = "\03_Liste\"
neu = "\02_Aufträge\01_Märkte\01_Region\01_CH\"
For Each HypLink In ActiveSheet.Hyperlinks
Debug.Print "Ersetze: durch 
Im Direktbereich zeigt er dir an, wie der Orignal-Link lautete und wie der neue lauten sollte!
Gruess Hansueli

Anzeige
AW: Hyperlinks anpassen, klappt nicht!
16.02.2016 11:16:35
Johannes
Funktioniert leider nicht.
Die unteren beiden gelb markierten Links sind "richitge" Links und müssen nicht verändert werden.
Userbild

AW: Hyperlinks anpassen, klappt nicht!
16.02.2016 12:20:16
EtoPHG
Hallo Johannes,
Hör doch bitte mal auf mit deinem "funktioniert leider nicht" und fang mal an selber nachzudenken!
Die unteren beiden Links werden nicht verändert!
Die ersten 3 Links aber auch nicht, weil der alt-Begriff "\03_Liste\" nicht im Hyperlink auftaucht.
Also stimmt deine Ausgangslage nicht!
Gruess Hansueli
Gruess Hansueli
Anzeige
;

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 nach Ordneränderung anpassen


Schritt-für-Schritt-Anleitung

Um die Hyperlinks in Excel nach einer Änderung der Ordnerstruktur automatisch anzupassen, kannst Du ein VBA-Makro verwenden. So geht’s:

  1. Öffne Deine Excel-Datei.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden Code ein:

    Sub hyperhyper()
       Dim HypLink As Hyperlink
       Dim strNeueURL As String
       Dim alt As String, neu As String
       alt = "..\01_xx\06_yy\03_Liste\"
       neu = "..\01_xx\06_yy\02_Aufträge\01_Märkte\01_Region\01_Markt\"
       For Each HypLink In ActiveSheet.Hyperlinks
           strNeueURL = Replace(HypLink.Address, alt, neu)
           HypLink.Address = strNeueURL
       Next
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Dieses Makro ersetzt alle alten Hyperlink-Pfade durch die neuen, die Du angegeben hast.


Häufige Fehler und Lösungen

  • Problem: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass die Variablen alt und neu korrekt definiert sind. Sie müssen genau mit den Pfaden in Deinen Hyperlinks übereinstimmen.
  • Problem: Nur einige Hyperlinks werden geändert.

    • Lösung: Prüfe die Schreibweise der Pfade. Wenn der alte Pfad nicht exakt übereinstimmt, wird der Hyperlink nicht aktualisiert.
  • Problem: Hyperlinks, die mit Formeln erstellt wurden, werden nicht geändert.

    • Lösung: Das Makro funktioniert nur für „echte“ Hyperlinks. Überlege, diese manuell zu ändern oder ein spezifisches Makro dafür zu erstellen.

Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du die Hyperlinks auch manuell ändern. Eine andere Methode ist die Nutzung der „Suchen und Ersetzen“-Funktion:

  1. Wähle den Bereich aus, der die Hyperlinks enthält.
  2. Drücke CTRL + H, um das „Suchen und Ersetzen“-Fenster zu öffnen.
  3. Gib den alten Pfad unter „Suchen nach“ und den neuen Pfad unter „Ersetzen durch“ ein.
  4. Klicke auf „Alle ersetzen“.

Diese Methode eignet sich jedoch nur für kleinere Datenmengen und ist weniger effektiv für eine Massenänderung in Excel.


Praktische Beispiele

Angenommen, Du hast Hyperlinks, die auf die alte Ordnerstruktur verweisen:

  • Alter Pfad: ..\01_xx\06_yy\03_Liste\01_Markt\Auftrag_xy.pdf
  • Neuer Pfad: ..\01_xx\06_yy\02_Aufträge\01_Märkte\01_Region\01_Markt\Auftrag_xy.pdf

Mit dem oben genannten Makro wird der alte Pfad durch den neuen ersetzt, sodass die Links korrekt funktionieren.


Tipps für Profis

  • Backups erstellen: Bevor Du Massenänderungen vornimmst, mache immer eine Sicherheitskopie Deiner Excel-Datei.

  • Verwendung von Debugging: Nutze Debug.Print im VBA-Code, um zu sehen, welche Links ersetzt werden. Dies hilft Dir, den Prozess zu prüfen.

    Debug.Print "Ersetze: " & HypLink.Address & " mit " & strNeueURL
  • Regelmäßige Wartung: Halte Deine Hyperlinks regelmäßig auf dem neuesten Stand, um zukünftige Probleme zu vermeiden.


FAQ: Häufige Fragen

1. Frage
Wie kann ich sicherstellen, dass alle Hyperlinks aktualisiert werden?
Antwort: Stelle sicher, dass der alte Pfad korrekt und konsistent in Deinen Hyperlinks verwendet wird, damit das Makro alle Instanzen findet.

2. Frage
Kann ich das Makro auch für andere Excel-Dateien verwenden?
Antwort: Ja, Du kannst das Makro in jeder Excel-Datei verwenden, solange die Pfade entsprechend angepasst werden.

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