Sub HYPERLINKS_Verweise_Ersetzen()
->1. Abfrage des zu ersetzenden String/Ersatzstring
->1.1 Abfrage des zu ersetzenden String im Hyperlink
->1.1.1 leerer String -> Exit Sub
->1.2 Abfrage des Ersatztstrings im Hyperlink
->1.2.1 leerer String -> Exit Sub
->2. Sicherheitsabfrage
->3. In allen Arbbeitsblättern der aktiven Mappe
->3.1 Alle Hyplinks suchen
->3.2 Prüfen, ob der zu ersetzenden String im Hyperlink
-> enthalten ist
->3.2.1 Wenn ja, zu ersetzenden Strings im Verweis durch
-> Ersatzstring ersetzen
->4. Anzahl der Ersetzungen ausgeben
'**********************************************************
Dim ws As Worksheet, h As Hyperlink, ret As Integer
Dim s_HyperlinkAddr As String
Dim s_ZuErsetzenderText As String, s_Ersatztext As String
Dim l_ErsetzenZaehler As Long, pos1 As Long
l_ErsetzenZaehler = 0
->1. Abfrage des zu ersetzenden Textes/Ersatztextes
->1.1 Abfrage des zu ersetzenden Textes im Hyperlink
s_ZuErsetzenderText = _
InputBox( _
Bitte geben Sie den im Hyperlink zu ersetzenden String ein., _
Eingabe des zu ersetzenden Strings)
->1.1.1 leerer String -> Exit Sub
If s_ZuErsetzenderText = Then Exit Sub
->1.2 Abfrage des Ersatztstrings im Hyperlink
s_Ersatztext = _
InputBox( _
Bitte geben Sie den Ersatzstring ein., _
Eingabe des Ersatzstrings, _
s_ZuErsetzenderText)
->1.2.1 leerer String -> Exit Sub
If s_Ersatztext = Then Exit Sub
->2. Sicherheitsabfrage
ret = MsgBox( _
In den Hyperlinks soll & vbLf & vbLf & _
s_ZuErsetzenderText & vbLf & vbLf & _
durch & vbLf & vbLf & _
s_Ersatztext & vbLf & vbLf & _
ersetzt werden?, _
vbQuestion + vbYesNo + vbDefaultButton2)
If ret = vbYes Then->Ja???
->3. In allen Arbbeitsblättern der aktiven Mappe
For Each ws In ActiveWorkbook.Worksheets
->3.1 Alle Hyplinks suchen
For Each h In ws.Hyperlinks
->3.2 Prüfen, ob der zu ersetzenden String
-> im Hyperlink enthalten ist
s_HyperlinkAddr = h.Address
pos1 = InStr(1, s_HyperlinkAddr, s_ZuErsetzenderText)
If pos1 > 0 Then
->3.2.1 Wenn ja, zu ersetzenden Strings im Verweis
-> durch Ersatzstring ersetzen
s_HyperlinkAddr = _
Left(s_HyperlinkAddr, pos1 - 1) & s_Ersatztext & _
Right(s_HyperlinkAddr, _
Len(s_HyperlinkAddr) - Len(s_ZuErsetzenderText) - pos1 + 1)
h.Address = s_HyperlinkAddr
l_ErsetzenZaehler = l_ErsetzenZaehler + 1
End If
Next
Next
End If
'4. Anzahl der Ersetzungen ausgeben
MsgBox (Anzahl der Ersetzungen: & l_ErsetzenZaehler)
End Sub