Hyperlinks in Excel gehen auf mysteriöse Weise "kaputt"

3 Antworten

woher es kommt, weiß ich auch nicht. Kann es sein, dass da ein programmiert-automatischer Austausch von Laufwerksbenennungen stattfindet, wenn Du das am Laptop getrennt vom Netz öffnest und dann wieder zurück gehst?
Das müsste Dir der Admin sagen können. In unserem Netzwerk fand sowas mal statt, damals ohne sichtbare Konsequenzen.

Korrigieren kannst Du das, indem Du mit Suchen-ersetzen das zB ...c:\ ... im Pfad (oder auch einen längeren Pfadteil) durch ...x:\ ... ersetzt und umgekehrt. Das kann auch mittels eines Makros bzw sogar AutoOpen-Makros geschehen.

Benenne den Bereich mit zB Hyp und füge in ein allgemeines Modul folgendes ein

Sub HyperLinkKorrektur() 'Sub auto_open() <Name erst nach Test aktivieren!

dim c, aktuB

aktub = activesheet.name

'Das hält in aktuB also erst mal fest, welches Blatt aktiv ist,
'und wechselt dann zu dem Blatt, in dem der Bereich Hyp liegt:

Worksheets(Range("Hyp").Worksheet.Name).Activate

for each c in Hyp

'tauscht dann in jeder Zelle von Hyp bedingt die Laufwerksnamen (oder wenn nötig längere Pfade je nach Eingabe) aus (die einzeilige if-then-Variante genügt hier, thisWorkbook ist diejenige Datei, in der sich das Makro befindet):

if left(thisWorkBook.path) = "C:\" then c.value = "x:\" & mid(c.value;4;9999)
if left(thisWorkBook.path) = "x:\" then c.value = "c:\" & mid(c.value;4;9999)
next

'und aktiviert zuletzt wieder das anfangs aktiv gewesene Blatt:

Worksheets(aktuB).activate
end sub

Ich hoffe, das hilft Dir, auch wenn es nichts erklärt!

Iamiam  30.10.2011, 14:25

Also doch wieder ein paar Fehler:
if left(thisWorkBook.path, 3) = ...
ausserdem hab ich wahrscheinlich die Bedingungen vertauscht. Musst du halt richtig stellen.
kann auch so lauten:
if left(c.value, 3) = "c:\" then c.value = "x:\" & mid(c.value;4;9999) oder unbedingt, wenn nur Hyperlinks drin stehen:
c.value = "x:\" & mid(c.value;4;9999) Musst Du dir zurechtbiegen (ggf zurechtbiegen lassen), hab nicht genau feststellen können, welches Deine Laptop- und welches Deine Betriebslaufwerksbuchstaben sind.

0
Maultier 
Fragesteller
 30.10.2011, 17:20
@Iamiam

OK, erst mal Danke. Ich werde das direkt an meinem nächsten Arbeitstag ausprobieren, auch wenn ich nicht verstanden habe, was du da geschrieben hast.
Aber wie gesagt, erst mal danke.
Schönes Restwochenende, LG Muli

0

Wenn wir mal gemeinsam davon ausgehen, dass es keine Gespenster gibt die da heimlich im Hintergrund werkeln, könnte man die Fehlersuche auf erkärbare Phänome begrenzen. Stutzig macht mit deine Aussage "plötzlich zeigen die Verweise auf meine Platte". Weiß zwar nicht was du an der Stelle dann gemacht hast, würde aber sagen wenn das passiert ist dann wäre es Zeit mal die externen Verknüpfungen zu kontrollieren.

Such doch mal in der Hilfe nach "externe verknüpfung" und schau dir z.B. den Artikel "Aufheben einer Verknüpfung auf einen externen Verweis" an.

Maultier 
Fragesteller
 02.11.2011, 11:40

Ok, danke

0

Kritisch ist folgende Kombination:

- Excel-Default-Einstellung "Links beim Speichern aktualisieren": ja

- Excel-Default-Einstellung "Hyperlinkbasis": leer

- Datei wird außerhalb vom Excel in ein anderes Verzeichnis kopiert

- oder Datei wird über einen anderen Zugriffspfad geöffnet, obwohl sie physisch dieselbe Datei ist

- noch schlimmer: Datei wird im neuen Verzeichnis geöffnet und mit "Speichern unter" zurückkopiert

Was dabei kaputtgeht, kann man ohne irgendwelche geheimen Makros nach der untenstehenden Anweisung reparieren.

------------------------------------------------------------------------------------

Die Einstelloptionen für Hyperlinks sind beschrieben in: https://support.microsoft.com/de-de/help/903163/how-to-create-absolute-hyperlinks-and-relative-hyperlinks-in-word-docu

------------------------------------------------------------------------------------

Die Funktionsweise von Excel hängt von der Einstellung ab:

-------------------- Einstellung: Links beim Speichern aktualisieren: ja / Hyperlinkbasis im Dokument: leer

  relativen Hyperlink eingeben: Hyperlink gilt relativ zum aktuellen Pfad des Excel-Dokuments

  absoluten Hyperlink eingeben: Hyperlink ist bis zum Speichern absolut

  "Datei speichern" mit relativem Link: relativer Link bleibt erhalten

  "Datei speichern" mit absolutem Link auf gleichem Laufwerksbuchstaben: wird umgewandelt in den kürzestmöglichen relativen Link

  "Datei speichern" mit absolutem Link auf anderem Laufwerksbuchstaben: absoluter Link bleibt erhalten

  "Datei speichern unter" auf gleichem Laufwerksbuchstaben mit relativem Link: wird in neuen relativen Link relativ zum Zielordner umgewandelt

  "Datei speichern unter" auf anderem Laufwerksbuchstaben mit relativem Link: wird in absoluten Link umgewandelt

  "Datei speichern unter" mit relativem Link: wird in neuen relativen Link relativ zum Zielordner umgewandelt

  "Datei speichern unter" mit absolutem Link auf gleichem Laufwerksbuchstaben: wird in neuen Link relativ zum Zielordner umgewandelt

  "Datei speichern unter" mit absolutem Link auf anderem Laufwerksbuchstaben: absoluter Link bleibt erhalten

  Datei ungeöffnet kopieren: relative Links bleiben erhalten, zeigen dann jedoch auf einen neuen Pfad relativ zum Zielordner

  Datei ungeöffnet kopieren: absolute Links bleiben erhalten

-------------------- Einstellung: Links beim Speichern aktualisieren: ja / Hyperlinkbasis im Dokument: gültiger Pfad

  relativen Hyperlink eingeben: Hyperlink gilt relativ zur Hyperlinkbasis

  absoluten Hyperlink eingeben: Hyperlink ist bis zum Speichern absolut

  "Datei speichern" mit absolutem Link auf gleichem Laufwerksbuchstaben wie Hyperlinkbasis: wird umgewandelt in den kürzestmöglichen relativen Link

  "Datei speichern" mit absolutem Link auf anderem Laufwerksbuchstaben wie Hyperlinkbasis: absoluter Link bleibt erhalten

  "Datei speichern unter" auf gleichem Laufwerksbuchstaben wie Hyperlinkbasis, mit relativem Link: wird in neuen relativen Link relativ zum Zielordner umgewandelt

  "Datei speichern unter" auf anderem Laufwerksbuchstaben wie Hyperlinkbasis, mit relativem Link: wird in absoluten Link umgewandelt

  "Datei speichern unter" mit absolutem Link auf gleichem Laufwerksbuchstaben wie Hyperlinkbasis: wird in neuen Link relativ zum Zielordner umgewandelt

  "Datei speichern unter" mit absolutem Link auf anderem Laufwerksbuchstaben wie Hyperlinkbasis: absoluter Link bleibt erhalten

  Datei ungeöffnet kopieren: relative Links bleiben erhalten und zeigen weiter auf denselben Pfad

  Datei ungeöffnet kopieren: absolute Links bleiben erhalten

-------------------- Einstellung: Links beim Speichern aktualisieren: ja / Hyperlinkbasis im Dokument: x

  relativen Hyperlink eingeben: Link funktioniert nicht, da die Hyperlinkbasis ungültig ist

  absoluten Hyperlink eingeben: Hyperlink ist und bleibt absolut

  "Datei speichern"/"Datei speichern unter" mit relativem Link: relativer Link bleibt erhalten, zeigt aber nirgendwo hin

  "Datei speichern"/"Datei speichern unter" mit absolutem Link: absoluter Link bleibt erhalten

  Datei ungeöffnet kopieren: relative Links bleiben erhalten, zeigen aber nirgendwo hin

  Datei ungeöffnet kopieren: absolute Links bleiben erhalten

-------------------- Einstellung: Links beim Speichern aktualisieren: nein / Hyperlinkbasis im Dokument: leer

  relativen Hyperlink eingeben: Hyperlink ist und bleibt relativ zum aktuellen Pfad des Excel-Dokuments

  absoluten Hyperlink eingeben: Hyperlink ist und bleibt absolut

  "Datei speichern": alle Links bleiben so, wie sie sind

  "Datei speichern unter" mit relativem Link: Link bleibt erhalten, zeigt dann jedoch auf einen neuen Pfad relativ zum Zielordner

  "Datei speichern unter" mit absolutem Link: absoluter Link bleibt erhalten

  Datei ungeöffnet kopieren mit relativem Link: Link bleibt erhalten, zeigt dann jedoch auf einen neuen Pfad relativ zum Zielordner

  Datei ungeöffnet kopieren mit absolutem Link: absoluter Link bleibt erhalten

-------------------- Einstellung: Links beim Speichern aktualisieren: nein / Hyperlinkbasis im Dokument: "x" oder gültiger Pfad

  relativen Hyperlink eingeben: siehe oben, je nach eingestellter Hyperlinkbasis

  absoluten Hyperlink eingeben: siehe oben, je nach eingestellter Hyperlinkbasis

  "Datei speichern"/"Datei speichern unter": alle relativen und absoluten Links bleiben so, wie sie sind, und funktionieren wie vorher

  Datei ungeöffnet kopieren: alle relativen und absoluten Links bleiben so, wie sie sind, und funktionieren wie vorher

------------------------------------------------------------------------------------

Relative Links reparieren, die nicht mehr funktionieren:

- herausfinden, von welcher Hyperlinkbasis aus die relativen Links funktionieren würden

- Prüfen, ob dieser Pfad existiert. Notfalls vorher anlegen

- Kontrollieren, dass alle Gross- und Kleinbuchstaben dieses Pfades stimmen. Sonst umbenennen

- Dokument schließen, in den neuen Ordner kopieren und dort öffnen

- Einstellung setzen: "Links beim Speichern aktualisieren": ja und "Hyperlinkbasis": leer

- Die relativen Links testen. Sie sollten nun funktionieren. Wir sind aber jetzt im falschen Ordner

- "Datei speichern unter" auf einem anderen(!) Laufwerksbuchstaben als vorher

- Die reparierten Links sind nun absolut

- Dokument schließen, wieder in den ursprünglichen Ordner kopieren und dort öffnen

- Die reparierten Links sind immer noch absolut, können beim Speichern aber relativ werden.

Absolute Links reparieren, die nicht mehr funktionieren:

- herausfinden, auf welchen Pfad die defekten Hyperlinks zeigen

- Prüfen, ob dieser Pfad existiert. Notfalls vorher anlegen

- Kontrollieren, dass alle Gross- und Kleinbuchstaben dieses Pfades stimmen. Sonst umbenennen

- Dokument schließen, in den neuen Ordner kopieren und dort öffnen

- Einstellung setzen: "Links beim Speichern aktualisieren": ja und "Hyperlinkbasis": leer

- Datei speichern und schließen. Dies wandelt die absoluten Links in relative Links um.

- herausfinden, auf welchen Ordner die defekten Hyperlinks eigentlich zeigen sollten

- Datei in diesen Ordner kopieren und dort öffnen

- Die reparierten Links testen. Sie sollten nun funktionieren.

- Die Datei darf nun mit "Datei speichern unter" auch beliebig anderswo gespeichert werden.