データテーブルの各行にハイパーリンクを含むワークシートがあります。それらのハイパーリンクの1つがクリックされるたびにマクロを実行するようにします。マクロは、どの行のハイパーリンクがクリックされたかによって異なる動作をするパラメータが必要です。アクティブなセルの行番号を使用しています。ハイパーリンク上でクリックするとマクロが実行されます
私はさまざまな方法を試しましたが、どれも機能を完了しませんでした。ほとんどの場合、スケーラブルなオプションではないイベントマクロ自体にセルアドレスを指定する必要があります。
サンプルデータ:
Col A Col B
A Link: A
B Link: B
C Link: C
D Link: D
E Link: E
上記の表の2番目の列は、ハイパーリンクのリストであるべきです。
(例えばセルB1に)私は2番目の列に使用していますハイパーリンク式:
=HYPERLINK(MID(CELL("filename"),FIND("[",CELL("filename")),FIND("]",CELL("filename"))-FIND("[",CELL("filename"))+1)&ADDRESS(ROW(),COLUMN()-1),"Link: "&$A1)
私はワークシートのコード内で使用していますマクロ:このケースでは私にとって
Private Sub Workbook_SheetFollowHyperlink(ByVal Target As Hyperlink)
Dim sData As String
sData = "text: " & sData & Range(Target.Range.Address). _
Offset(0, -1).Value & vbCr
MsgBox sData
End Sub
上記のマクロはハイパーリンクをクリックしても実行されません
まだ動作しません。私は、サブボックスでちょうどmsgboxのラインを試してみましたが、リンクをクリックしてもmsgboxをアクティブにしていないように見えます – dsauce
ハイパーリンクは別のブックを開きますか? –
ハイパーリンクは、左側の列の対応するセルを対象としています。実際には私はハイパーリンクは気にしませんが、マウスでセルをクリックするとマクロを実行したいので、ハイパーリンクはどこにでも向いています。私はすでに、セルが選択されたときに実行されるマクロを持っています。 – dsauce