Excel VBA zum Extrahieren von Hyperlinks aus Hyperlinkformeln

985
aliw1

Ich versuche, VBA-Code zu schreiben, um Links in der Tabelle zu überprüfen. Ich habe es gut funktioniert, bis ich auf Hyperlinks stieß, die aus einer Formel erstellt wurden. Zum Beispiel =Hyperlink(A1,"Link1")oder=Hyperlink(A1&A2,"Link2")

Der Standard- Hyperlinks(1).AddressVBA registriert diese nicht als Link, und ich kann keine anderen Lösungen online finden.

Irgendwelche Ideen?

0
Unklar ............ Möchten Sie die Formel in einen * eingefügten Hyperlink * konvertieren? Gary's Student vor 6 Jahren 0
Ich möchte prüfen, ob ein Hyperlink, der mit der Hyperlink-Funktion erstellt wurde, tatsächlich eine gültige Adresse hat. aliw1 vor 6 Jahren 0

1 Antwort auf die Frage

0
Gary's Student

Hier ist ein einfacher Ansatz, der einige Ihrer Formeln behandelt. Angenommen, A1 enthält die Formel:

=HYPERLINK("http://www.google.com","search") 

Wenn wir es auswählen und ausführen:

Sub HyperChecker() Dim s1 As String, s2 As String, arr  s1 = ActiveCell.Formula s2 = Mid(s1, 12) arr = Split(s2, ",") MsgBox arr(0) End Sub 

wir bekommen:

Der Code verwirft den Anfang und das Ende der Formel und gibt die URL zurück.

Das Problem tritt auf, wenn das erste Argument der Funktion ein Ausdruck und keine String-Konstante ist .

Sie würden dann EVALUATE()diesen Ausdruck brauchen .

Das ist ungefähr so ​​weit, wie ich mit meinem Code gekommen bin. Wenn Verknüpfungen aus verschachtelten Formeln erstellt wurden, wird dies viel komplexer. Danke für die Hilfe. aliw1 vor 6 Jahren 0
@ aliw1 Ich habe ein paar Ideen zum Angriff auf komplexe Hyperlinks. Wenn Sie möchten, werde ich diese Antwort später heute aktualisieren. Gary's Student vor 6 Jahren 0