AW: Hyperlink Betreff ändern - Fragen
12.08.2006 16:10:50
fcs
Hallo Gisela,
leider kennt mein etwas betagtes Excel97 diesen Betreff für Hyperlinks noch nicht. Ich hab jetzt aber einmal Uwes Ansatz mit ein paar Eingabeboxen in einem Makro kombiniert. In den Eingabeboxen gibst du an, welche Spalte bearbeitet werden soll und was geändert werden soll.
Die entscheidende Zeile mit dem ansprechen der Betreff-Eigenschaft muss du ggf. mit einem aufgezeichneten Makro in der aktuelleren Excel-Version ermitteln.
Das Makro läuft in einer Schleife, bis du in einer der Eingabeboxen auf Abbrechen klickst.
Gruß
Franz
Sub Hyperlinksbearbeiten()
Dim varSpalte, strWas As String, Zelle As Range, rngBereich As Range, NeuerText As String
Dim HL As Hyperlink
Do
varSpalte = UCase(InputBox("Welche Spalte soll bearbeitet werden. Bitte Buchstaben eingeben", "Hyperlinksbearbeiten", ""))
If varSpalte = "" Then Exit Sub
Eingabe2:
strWas = InputBox("Was soll gemacht werden?" & vbLf & vbLf _
& " 1 = Inhalt Betreff löschen" & vbLf _
& " 2 = Inhalt Betreff ändern" & vbLf, "Hyperlinksbearbeiten", "")
Select Case strWas
Case ""
Exit Sub
Case "1"
NeuerText = ""
Case "2"
NeuerText = InputBox("NeuerText für Hyperlink-Betreff?", "Hyperlinksbearbeiten", "")
Case Else
'do nothing
MsgBox "Eingabe Fehler, nur 1 oder 2 ist zulässig"
GoTo Eingabe2
End Select
If MsgBox("Soll der Betreff für die Hyperlinks tatsächlich geändert werden?" & vbLf & vbLf _
& " Spalte: " & varSpalte & vbLf _
& " Neuer Text : " & NeuerText, vbYesNo, "Hyperlinks bearbeiten") = vbYes Then
Set rngBereich = ActiveSheet.Range(Cells(1, varSpalte), Cells(ActiveSheet.Rows.Count, varSpalte).End(xlUp))
For Each Zelle In rngBereich
If Zelle.Hyperlinks.Count > 0 Then
Set HL = Zelle.Hyperlinks(1)
' In der folgenden Zeile muss jetzt das richtige Objekt/Eigenschaft des Hyperlinks eingesetzt werden!!!!
HL.TextToDisplay = NeuerText 'TextToDisplay funktioniert in Excel97 nicht
Set HL = Nothing
End If
Next
End If
Loop
End Sub