Hyperlink ändern in Abhängigkeit eines bestimmten Hyperlink-Textes

PMH1

Cadet 2nd Year
Registriert
Dez. 2012
Beiträge
28
Hallo,
ich habe eine Excel-Datei mit mehr als 50 Tabellenblättern. Jedes Tabellenblatt hat zig unterschiedliche Hyperlinks (insgesamt einige Tausend).

Ich möchte nur die Hyperlinks ändern mit einem bestimmten Text irgendwo im Hyperlink.
Das Makro muß über alle Tabellenblätter in dieser Excel-Tabelle laufen.

Beispiel was ich will:
Alter Hyperlink: "...........Text-alt-a........."
der dann geänderter Hyperlink: "...........Text-neu-b........."; alles Andere im Hyperlink soll bleiben.

Ich bekomme diese Formel nicht hin. Ich hab' zwar ein Makro geschrieben zum Ändern des Hyperlinks (mit Eingabe-Box alt/neu). Ich schaff's aber nicht dies in Abhängigkeit eines bestimmten Hyperlinks-Textes durchzuführen.

Kann mich hier jemand bitte unterstützen. Vielen Dank schon mal vorab.

Ich will's nochmal konkretisieren (hoffentlich): Hyperlink alt/bisher + neu/wie's aussehen soll:
alt: X:\Ordner A\Ordner AA\Ordner AAA\111 -aBild.jpg
neu: X:\Ordner A\Ordner AA\Ordner AAA\111 -Bild.jpg
 
Zuletzt bearbeitet:
Privat oder beruflich? Einmalig oder wiederkehrend?

Wiederkehrend
So ist es eine Sache von 5-10 min, ein erfahrener Unixer/Bashuser bastelt Dir das in Minuten hin:
  1. Installiere Cygwin-Tools
  2. Exportiere die Datei als CSV
  3. Mit grep, awk, sed ein Script erstellen, welches die Datei bearbeiten und Suchstring ersetzen in eine neue CSV-Datei erzeugt
  4. Importiere die Datei als CSV
  5. Fertig
Wenn Du ein Unix-/Linux-System in der Nähe hast, einfach Dateien hin und her kopieren und im dortigen System erledigen.

Für einmalig einfach die CSV-Datei nehmen und mit einem beliebigen Editor suchen/ersetzen machen.
 
Zuletzt bearbeitet:
Hallo und Danke für die Antwort, aber

beim Umwandeln in eine "CSV-Datei" kommt folgender Fehler:
Der ausgewählte Dateityp unterstützt keine Arbeitsmappen, die mehrere Blätter enthalten ......

Ich kann nur das aktuelle Tabellenblatt umwandeln !! Und dann die Aktion durchführen !!
Ich habe aber über 50 Tabellenblätter in der Excel-Tabelle, die im übrigen noch jede Menge Makros enthält, also als ....xlsx abgelegt ist.

Welche Möglichkeit könnte es geben über die ganze Excel-Tabelle über alle Tabellenblätter zu gehen.
 
Hallo Janush,
ja eigentlich genau.

Ich möchte die Excel-Datei mit den vielen Tabellen-Blättern in einem Vorgang durchlaufen und nur die Hyperlinks ändern in denen ein bestimmter Text vorkommt. Und nicht den ganzen Hyperlink ändern, sondern darin nur einen bestimmten Textteil (so wie in meiner ersten Frage aufgeführt).

Hättest Du eine Lösung ?
 
Suchen-Ersetzen funktioniert nicht im CVS-Export?!? Das wäre dann aber ein Ding mit Pfiff.
(Kann ich eigentlich eine einzige Mappe mit 50 Blättern in eine einzige reimportierbare CSV exportieren??! 50-mal wäre harte Arbeit.)

Ich selbst hätte mir mit VBA zu helfen versucht. Aber das ist eine Frage von Vorlieben.
(Wiederum VBA das in irgendwas wie TXT exportiert, nur nicht in CSV da die Deutschen CSV mehr SSV sind - Semikolon-Seperated-Values.)

CN8
 
PMH1 schrieb:
Hättest Du eine Lösung ?
Ja, aber die willst Du ja nicht hören. :rolleyes: Es geht dann nur der Umweg über CSV, ganz einfach. Dann mußt Du eben jedes Blatt einzeln umwandeln.

Und das Suchen und Ersetzten machst Du dann mit einem anderen Editor, und das geht definitiv, mach ich jeden Tag zigfach.
 
Zuletzt bearbeitet:
Hallo PHuV,
näh, das ist für mich keine Lösung, zig-fach weit über 50 Tabellenblätter einzeln (!!!) umwandeln, und dann einzeln (!!!) bearbeiten und wieder einzeln (!!!) zurück. Wo ist da der große Unterschied zum manuellen Bearbeiten aller Hyperlinks, wenn es nicht in einem "Rutsch" geht.
==> siehe auch die Antwort von "cumulonimbus8"

Mit Sicherheit gibt es eine Makro/VBA-Lösung mit entsprechender Programmierung, die ich aber nicht hinbekommen.
Ergänzung ()

Hallo Snooty,
es geht um einen bestimmten Text innerhalb des Hyperlinks. Bei einem "Treffer" innerhalb des Hyperlinks, soll dieser Text durch einen anderen ersetzt werden.
Eine Hyperlinks-Adresse "chancen" habe ich mit einem Makro gelöst (mit Eingabe-Box für den alten und neuen Hyperlink).
Ergänzung ()

Evtl. habe ich m ich nicht richtig ausgedrückt.
Mein Hyperlink besteht aus einem Pfad und einem Dokument; also der Hyperlink springt zu einem Dokument.

Nun möchte ich, da bei einigen das Dokument geändert wurde, im Hyperlink das Dokument anpassen.

Also meine Excel-Tabelle mit den vielen Tabellen-Blättern durchlaufen und wo z.B. der Dokumenten-Name "Alt-x.jpg" vorkommt diesen in "Neu-y.jpg" ändern. Mit dem "Suchen"Ersetzten" geht dies nicht, da "Alt-x.jpg" in den Hyperlinks nicht gefunden wird.
 
Hallo da draußen, liebes Forum,
ich möchte nochmal ergänzen:
Der Hyperlink liegt nicht als Text in einer Zelle, sondern ich habe in den Zellen eine Zahl oder einen Text stehen und über die "rechte Maus" und durch anklicken "Hyperlink" habe ich einen Hyperlink, z.B. zu einem Bild.
Ergänzung ()

Hier für die Nachwelt die Lösung anhand eines Text-Beispiels per Makro, so wie es wollte; nicht per CSV, HTML, einzeln hin und her, ohne weitere Software.... "suchen + ersetzen funktioniert nicht :

Sub Hyperlink_Text_ändern()
Dim h As Hyperlink
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
For Each h In ws.Hyperlinks
If InStr(1, h.Address, "xETB", vbTextCompare) > 0 Then
h.Address = Replace(h.Address, "xETB", "ETB", , , vbTextCompare)
End If
Next
Next
End Sub
 
Zurück
Oben