2016-08-12 1 views
1

Ich erstelle ein Makro, und möchte wissen, ob es eine Möglichkeit gibt zu überprüfen, ob eine Zelle einen gültigen Hyperlink enthält? Ich möchte nur eine einfache, wenn Staat einzurichten:Gibt es einen Hyperlink "charakteristisch" für Zellen in Excel?

If Range("A1").hyperlink = True Then 
// don't perform action 
Else 
// Perform action 
End if 

Offensichtlich ist die .hyperlink falsch ist (? Rechts), gibt es dies trotzdem zu tun?

+0

Excel unterstützt Hyperlink-Objekte. [Dieser Link] (https://msdn.microsoft.com/en-us/library/office/ff835563.aspx) kann Ihnen mehr erzählen. Wenn ich Sie wäre, würde ich alle Hyperlinks in dem Bereich identifizieren, an dem ich interessiert bin. Dann würde ich die if-Schleife ausführen, die fehlschlagen würde, wenn (z. B.) der Bereich A1 nicht in der Liste der Zellen mit Hyperlink-Objekten enthalten wäre Sie. –

+0

Wie werden deine Links angegeben? Meine Antwort sollte sowohl "= Hyperlink (" http://www.google.com "," Link ") Zellen als auch" http: // www.google.com "-Zellen erfassen. Gibt es ein anderes Format, das möglicherweise übersehen wird? – BruceWayne

+1

Zu Ihrer Information. Der richtige Ausdruck für das, was Sie _Characteristic_ nennen, ist _Property_. – litelite

Antwort

0

könnten Sie

If Left(Range("A1").Formula, 7) = "=HYPERLINK" Then 
    Debug.print "Link found!" 
End If 

Hinweis verwenden das wirdnur über Arbeit, wenn Sie die =Hyperlink() Formel tatsächlich verwenden. Wenn Sie Zellen haben, die nur Hyperlinks mit dem Text http://www.google.com sind, verwenden Sie Folgendes:

Sub t() 
Dim rng As Range 
Dim isLink As Boolean 
isLink = False 

Set rng = Range("A1") 

If Left(rng.Formula, 7) = "=HYPERLINK" Then 
    isLink = True 
ElseIf rng.Hyperlinks.Count > 0 Then 
    isLink = True 
End If 

If isLink Then 
    ' If there's a hyperlink, run the code here. 
End If 


End Sub 
+0

gibt es sowieso, um zu überprüfen, ob die Verbindung gültig ist? Wenn beispielsweise das Blatt in der Excel-Tabelle, zu dem der Hyperlink führt, gelöscht wurde (durch einen anderen Teil des Makros ... dies ist Teil der normalen Funktion des Makros), ist der Hyperlink nicht mehr gültig. Rng.Hyperlinks.count ist jedoch immer noch 1, da der Hyperlink nicht entfernt wurde, obwohl sein Ziel ungültig ist, weil es nicht mehr existiert. Gibt es eine Möglichkeit, das zu überprüfen? –

+0

"... der Hyperlink ist nicht mehr gültig." - Meinst du, wenn du dem Link folgst, geht es auf eine 404/nicht existierende Seite? Oder es ist nicht gültig für Ihre Verwendung? – BruceWayne

+0

Ja ich meine, dass es zu einem 404-Popup geht, das sagt, dass die Seite nicht existiert –

Verwandte Themen