2016-08-12 9 views
1

マクロを作成していて、セルに有効なハイパーリンクがあるかどうかを確認する方法があるかどうかを知りたいですか?excelのセルにハイパーリンク「特性」がありますか?

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

明らか.hyperlinkが間違っている(右?)、これを行うにはとにかくがある:私は状態ならば、単に基本を設定したいですか?

+0

Excelはハイパーリンクオブジェクトをサポートしています。 [このリンク](https://msdn.microsoft.com/en-us/library/office/ff835563.aspx)より詳しく説明できます。私があなただったら、興味のある範囲のすべてのハイパーリンクを識別します。次に、範囲A1がハイパーリンクオブジェクトを持つセルのリストにない場合(たとえば)、失敗するifループを実行します。それら。 –

+0

あなたのリンクはどのように与えられていますか?私の答えは、=ハイパーリンク( "http://www.google.com"、 "Link") 'セルと' http:// www.google.com'セルの両方を捕捉するはずです。おそらく見過ごされている別のフォーマットがありますか? – BruceWayne

+1

お問い合わせください。 _Characteristic_という名前の正しい用語は_Property_です。 – litelite

答えて

0

あなたが実際に=Hyperlink()式を使用している場合は、上記ののみに動作します

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

注意を使用することができます。あなただけのテキスト、http://www.google.comでハイパーリンクされた細胞を持っている場合は、これを使用する:

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

リンクが有効かどうかを確認するには、とにかくありますか?たとえば、ハイパーリンクがリンクされているExcelシート内のシートが削除されている場合(これはマクロの別の部分によって...マクロの通常の機能の一部です)、ハイパーリンクはもはや有効ではありません。ただし、ハイパーリンクは削除されていないため、rng.Hyperlinks.countは1のままですが、ターゲットは存在しないため有効ではありません。それを確認する方法はありますか? –

+0

"...ハイパーリンクはもはや有効ではありません。" - あなたがリンクをたどると、それは404 /存在しないページに行きますか?それともあなたの使用には有効ではありませんか? – BruceWayne

+0

はい、私はそれがページが存在しないと言って404ポップアップに行くことを意味します –

関連する問題