12.2k Aufrufe
Gefragt in Tabellenkalkulation von knochenmark Mitglied (146 Punkte)
Hallo zusammen!

Ich habe mir vor einiger Zeit ein Excel-Sheet mit verschiedenen "Blättern" angelegt auf welchem jeweils ein Link zu einer anderen Excel-Datei besteht. Jetzt habe ich Excel 2007 und bin dabei die ganzen Dateien zu konvertieren. Leider habe ich jetzt das Problem, das ich auch die Datei auf die die Hyperlinks abzielen von .xls auf .xlsx konvertiert habe und nun die ca. 60 Hyperlinks nicht mehr passen.

Jetzt endlich meine Frage: Habe ich irgendeine automatisierte Möglichkeit die ca. 60 Hyperlinks auf die neue Dateiendung abzuändern?

Von Hand wäre das eine Strafe.

Danke
Knochenmark

6 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Knochenmark,

du hast dir die Antwort ja schon in deiner Überschrift gegeben:

Bearbeiten - Ersetzen -
Suchen nach: .xls
Ersetzen durch: .xlsx

Gruß

M.O.
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

mit Suchen und Ersetzen - Bereich markieren -> "suchen": .xls und "ersetzen durch": .xlsx -> Alle ersetzen.

Bis später,
Karin
0 Punkte
Beantwortet von knochenmark Mitglied (146 Punkte)
Na wenn das so einfach wäre hätte ich hier nichts gepostet! Das geht leider nicht, weil er anscheinend den Hyperlink nicht als Zelleninhalt sieht, oder warum auch immer.

Knochenmark
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Knochenmark,

nachfolgender Code ersetzt Dir alle Hyperlinks der Datei gegen den Pfad und den neuen Dateinamen.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Sub Hyperlinziel_tauschen()
Dim strNeuerHyperlink As String
Dim hypZelle As Hyperlink
Dim intSheets As Worksheet
strNeuerHyperlink = "C:\Eigene Dateien\Deine Datei.xlsx"
For Each intSheets In Sheets
For Each hypZelle In intSheets.Hyperlinks
hypZelle.Address = strNeuerHyperlink
Next
Next
End Sub
In der Zeile

strNeuerHyperlink = "C:\Eigene Dateien\Deine Datei.xlsx"musst Du den Pfad und den Dateinamen anpassen.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

eine andere Möglichkeit zum Ersetzen der Hyperlinks im benutzten Bereich per VBA:
Sub hyperlink_inhalte_ersetzen()
Dim raZelle As Range
Dim strAdresse As String
For Each raZelle In Worksheets("Tabelle1").UsedRange
If raZelle.Hyperlinks.Count > 0 Then
strAdresse = Replace(raZelle.Hyperlinks(1).Address, ".xls", ".xlsx")
raZelle.Hyperlinks.Add anchor:=raZelle, Address:=strAdresse, TextToDisplay:=Replace(raZelle.Value, ".xls", ".xlsx")
End If
Next raZelle
End Sub

Bis später,
Karin
0 Punkte
Beantwortet von knochenmark Mitglied (146 Punkte)
Thanks @ all
Das das so schnell geht hätte ich nicht gedacht! Spitze

Knochenmark
...