前提・実現したいこと
エクセルのブック内でどこかしらのハイパーリンク(ブック内)がクリックされたときに,標準モジュールに書いたコードを実行したいです.
クリックしたときにファイル内を更新するイメージで使おうと考えています.
ブック内の各シートには複数のリンクがあります.
発生している問題・エラーメッセージ
エラーメッセージは何も表示されず,リンク先へジャンプするだけになってしまいます.
該当のソースコード
vba
1Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) 2 Call プログラム 3End Sub
この下に呼び出すプログラムを示します.
ワークシート数と特定のシートのテーブルデータ行数を比較して差がある場合にテーブル更新するという内容です.
vba
1Worksheets("???").Activate 2 Dim N As Long 3 With Range("A1").ListObject 4 N = .ListColumns(1).DataBodyRange.Count 5 If Worksheets.Count - 1 > N Then 6 Dim j As Long 7 For j = 1 To Worksheets.Count - 1 - N 8 .ListColumns(1).DataBodyRange(N + j).Value = N + j 9 Next 10 Else 11 End If 12 End With 13End Sub
試したこと
・オブジェクトはThisworkbook,プロシージャはSheetFollowHyperlinkに記入しています.
・イミディエイトウィンドウでプログラムを起動することは確認しています.
・コードの内容を以下の記述の下に書き込んでも動きませんでした.
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
補足情報(FW/ツールのバージョンなど)
windows10
Excel365
あなたの回答
tips
プレビュー