2017-10-17 7 views
0

サブルーチンにリンクされる名前にハイパーリンクを追加しようとしています。ユーザーがハイパーリンクされた名前をクリックすると、サブルーチンが呼び出されます。ハイパーリンクにサブルーチンを追加しても機能しない

今、私はハイパーリンクすることができ、メッセージボックスを表示するいくつかのコードがありますが、ハイパーリンクされたセルをクリックすると何も表示されません。

"Assign macro to hyperlink" tutorial I'm using

簡体コード:

Sub Main() 
    Call SetHyperlink 
End Sub 

Sub SetHyperlink() 
    Range("A6").Select 
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="$A$6", TextToDisplay:="TEST" 
End Sub 

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
    'Check if the Target Address is same as you have given 
    'In the above example i have taken A4 Cell, so I am 
    'Comparing this with $A$4 

    If Target.Range.Address = "$A$6" Then 
     'Write your all VBA Code, which you want to execute 
     'Or Call the function or Macro which you have 
     'written or recorded. 
     MsgBox "Write your Code here to be executed" 
     Exit Sub 
    End If 
End Sub 

それは明らかに何かあれば、私は同様に推論を教えてくださいので、私はまだVBAに非常に新しいです。前もって感謝します!

+0

セルがクリックされたときに、それだけでマクロを実行するために、大丈夫でしょうか?または、これらのハイパーリンクをセル内に複数持つことを試みていますか? –

+0

ハイパーリンクされたセル "A6"がクリックされたときに 'Worksheet_FollowHyperlink'サブを実行したいです –

+0

' Worksheet_FollowHyperlink'コードが存在するのと同じシートにハイパーリンクが作成されていますか?あるいは、 'Worksheet_FollowHyperlink'コードを' Worksheet'モジュール自体に置きましたか標準モジュールに置きましたか?それは私のために書かれたように動作するので: –

答えて

2

このコードを使用して、ハイパーリンクのテキストを確認し、ハイパーリンクの選択に従ってマクロを呼び出します。

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) 
    Select Case Target.TextToDisplay 
    Case "hi" 
     MsgBox "Hi" 
    Case "Oranges" 
     MsgBox "You selected oranges" 
    Case "Banana" 
     MsgBox "Banana" 
    Case "Trees" 
     MsgBox "Tree" 
    End Select 

End Sub 

enter image description here

+0

私はあなたが何を意味しているのか分かりません – Davesexcel

関連する問題