Excel Hyperlink in Arbeitsblatt suchen/ersetzen

03/04/2009 - 09:56 von Alfred Buschmann | Report spam
Hall zusammen, ich möchte gerne einen Datenordner von A nach B verschieben.
Hierbei werden dioe Hyperlinks einer Tabelle nicht berücksichtigt. Mit dem
Befehl suchen/ersetzen kann ich in den jeweiligen Tellen Texte austauschen.
Meine Frage: geht dies auch mit den Hyperlinks also dann wàre der Pfad in
einem Weg nicht zum Ordner A sondern zum Ordner B geàndert worden. Da diese
Änderung viele Zellen betrifft wàre der Befehl Suchen/ersetzen für Hyperlinks
hilfreich.
 

Lesen sie die antworten

#1 Andreas Killer
03/04/2009 - 19:26 | Warnen spam
Alfred Buschmann schrieb:

Hall zusammen, ich möchte gerne einen Datenordner von A nach B verschieben.


...
einem Weg nicht zum Ordner A sondern zum Ordner B geàndert worden. Da diese
Änderung viele Zellen betrifft wàre der Befehl Suchen/ersetzen für Hyperlinks
hilfreich.


Das geht nur mit einem Makro, ich hàng Dir mal eins dran.

Wie Du ein Makro zum laufen bekommst weißt Du?

Andreas.

Option Explicit
Option Compare Text

Sub ErsetzeHyperlinks()
Dim H As Hyperlink
Dim SucheNach(), ErsetzeDurch()
Dim I As Integer

'Nach jedem dieser Zeichen wird gesucht und...
SucheNach = Array("C:\temp\", "C:\test\")
'...durch das entsprechende Gegenstück hier ersetzt.
ErsetzeDurch = Array("D:\xyz\", "C:\bla\bla\")

If UBound(SucheNach) <> UBound(ErsetzeDurch) Then
MsgBox "Beide Arrays müssen die gleiche Anzahl Elemente haben."
Exit Sub
End If

'Durchsuche alle Hyperlinks im aktuellen Blatt
For Each H In ActiveSheet.Hyperlinks
'Durchsuche jeden Link nach allen Zeichenfolgen
For I = LBound(SucheNach) To UBound(SucheNach)
'Ist diese im Link enthalten?
If InStr(H.Address, SucheNach(I)) > 0 Then
'Ja, tausche sie durch das Gegenstück
H.Address = _
Replace(H.Address, SucheNach(I), ErsetzeDurch(I))
'Keine weiteren Ersetzungen in diesem Link.
Exit For
End If
Next
Next
End Sub

Ähnliche fragen