Zieladresse der HYPERLINK()-Funktion mit VBA auslesen
Schritt-für-Schritt-Anleitung
Um die Zieladresse der HYPERLINK()-Funktion in Excel mit VBA auszulesen, kannst Du den folgenden VBA-Code verwenden. Dieser Code überprüft, ob die Zelle eine Formel enthält, die die HYPERLINK()-Funktion verwendet, und extrahiert die Adresse:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const txHL$ = "HYPERLINK("
Dim fmHL As String, erg As Variant
On Error Resume Next
If Target.HasFormula Then
If InStr(Target.Formula, txHL) > 0 Then
fmHL = Mid(Target.Formula, InStr(Target.Formula, """") + 1)
fmHL = Left(fmHL, InStr(fmHL, """") - 1)
erg = Evaluate(fmHL)
MsgBox IIf(IsError(erg), "Irregulärer Hyperlink", erg)
End If
End If
End Sub
Füge diesen Code in das Codefenster des Arbeitsblattes ein, um die Hyperlink-Adresse zu extrahieren, wenn Du auf die Zelle klickst.
Häufige Fehler und Lösungen
-
Fehler: "Irregulärer Hyperlink"
Dieser Fehler tritt auf, wenn die HYPERLINK()-Formel nicht korrekt ist. Überprüfe die Formel in der Zelle auf Syntaxfehler.
-
Fehler: Hyperlink wird nicht erkannt
Stelle sicher, dass Du den richtigen Zellbereich ansprichst und dass die Zelle tatsächlich eine HYPERLINK()-Formel enthält.
-
Problem: VBA erkennt keine Hyperlinks
Beachte, dass Excel die Hyperlinks, die mit der HYPERLINK()-Funktion erstellt wurden, nicht als echte Hyperlinks speichert. Der oben angegebene Code ermöglicht es dennoch, die Adresse aus der Formel zu extrahieren.
Alternative Methoden
Wenn Du die Hyperlink-Adressen aus einer Zelle extrahieren möchtest, kannst Du auch die Funktion HYPERLINK()
direkt in einer anderen Zelle verwenden, um diese auszulesen. Alternativ dazu gibt es verschiedene Add-Ins oder Makros in der Excel-Community, die speziell dafür entwickelt wurden, um VBA Hyperlinks auszulesen.
Praktische Beispiele
Angenommen, Du hast in Zelle C7 die folgende Formel:
=HYPERLINK("http://www.dein-link.de", "Besuche meine Seite")
Wenn Du auf Zelle C7 klickst, wird der VBA-Code die Adresse http://www.dein-link.de
in einer MessageBox anzeigen.
Tipps für Profis
- Nutze die
Evaluate
-Funktion, um komplexere Formeln auszuführen und die Hyperlink-Adresse dynamisch abzurufen.
- Teste den Code mit verschiedenen Hyperlink-Varianten, um sicherzustellen, dass er in allen Fällen funktioniert.
- Achte darauf, dass Du den Code in der richtigen Arbeitsmappe und im richtigen Arbeitsblatt platzierst, um die gewünschten Ergebnisse zu erzielen.
FAQ: Häufige Fragen
1. Wie kann ich die Hyperlink-Adresse direkt in eine Zelle schreiben?
Du kannst die Adresse direkt in eine Zelle schreiben, indem Du den VBA-Code anpasst, um Range("ZielZelle").Value = erg
hinzuzufügen.
2. Funktioniert dieser Code in allen Excel-Versionen?
Der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, wie Excel 2010 und neuer.
3. Kann ich den Code auch für andere Hyperlink-Anwendungen verwenden?
Ja, Du kannst den Code anpassen, um auch andere Hyperlink-Anwendungen auszulesen, solange diese in einer Formel in der Zelle vorhanden sind.