Excel2007でのハイパーリンクをクリックした際に発生するイベントについてお伺いさせてください。
Excelでハイパーリンクのイベントを用いてやりたいことがあったのですが、どうしてもWorkbook_SheetFollowHyperlinkでの動作がうまくいかないため、以下の処理を試みてみました。
Private Sub Workbook_SheetFollowHyperlink
(ByVal Sh As Object, ByVal Target As Hyperlink)
Worksheets("sheet1").Cells(1, 1).Value = 5
End Sub
ところが、ハイパーリンクをクリックしてもsheet1のセルA1には代入は行われず、ただリンク先のセルへ飛ぶだけの処理となってしまいます。
以上を踏まえた上で以下の2点について質問させてください。
・Workbook_SheetFollowHyperlinkはブック内のハイパーリンクをクリックしたときに呼び出されるという認識に間違いがあるのでしょうか。
・上記のようにハイパーリンクをクリックした際に指定したセルへ適当な数値を代入するにはどうすればよいのでしょうか。
わかりにくい文章で申し訳ありませんが、ご教授の程よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
原因は??です。
Vista 、Excel2007で同じBookのシート3のセルにハイパーリンクを設定しておいて上記を実行してみましたが、問題なく5が代入されます。(元の文字と表示が変わるだけでハイパーリンクは元のまま維持されます。)
この回答への補足
環境の問題かと思い別OSなどでなってみたのですが、結果が一緒でした。
もしかしたらマクロの記述場所が間違っているのでしょうか。
Alt+F11>ThisWorkbookをダブルクリック>左プルダウンからWorkbookを選択>右プルダウンからSheetFollowHyperlinkを選択>中に処理を記述
この流れで間違ってはいないとは思うのですが、何かおかしな点ありましたらご指摘お願いします。
No.1
- 回答日時:
マクロ自体には特に間違いの要因は見あたりません。
そのマクロや,あるいは今回はわざわざWorkbook_SheetFollowHyperlinkを利用していますが,ふつーにシートのイベントを使う事でもご質問でやりたかった事は実現出来ます
考えられる原因その1:シートを間違えている
Workbookのイベントを使おうとしているので,VBE画面のプロジェクトエクスプローラで当該のブックのVBAProjectに含まれるThisWorkbookをWクリックして現れたシートに記入する必要があります。
考えられる原因ソノ2:単純にマクロが無効になっている
セキュリティセンターでマクロを有効にする設定にしてエクセルを再起動します。
また「以前使えたマクロ」が問題なく実行できるか念のため確認します。
ご相談ではホントの所何をしたいのかは書かれていません(必要に応じて改めてヤリタイ事を文章にして,別のご相談で,ご質問を投稿なさってみてください)が,ThisWorkbookにブックのイベントとしてたとえば
private sub Workbook_SheetFollowHyperlink(byval Sh as object, byval Target as hyperlink)
target.range.offset(0,1) = "go"
end sub
などのように書いておけば,個々の(クリックした)ハイパーリンクのセルを基点にメモを記入するような仕込みもできます。
この回答への補足
考えられる要因の2点ですが、実際にOpenやSheetChangeを使用して同様の記述をすると問題なく処理が行われています。
同様の処理をハイパーリンクイベントにも入れているのですが(コピペしてるので間違いはないはずです。。。)、ハイパーリンクをクリックしても処理が行われないのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) 【Excel】hyperlink関数を解除してもハイパーリンクが活きるようにできますか? 3 2023/05/22 11:22
- Visual Basic(VBA) EXCELのセル相互同期用のVBAでの不具合 3 2022/08/10 11:44
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
エクセルでPDFリンクを大量...
-
VBA 見つからなかった時の処理
-
現在のセルの位置を返す関数は...
-
エクセルでページ数をあるセル...
-
太字に設定されているセルの個...
-
Excelで挿入した図をセルの中央...
-
セルがクリックされた回数をカ...
-
フォントの色を指定して削除出...
-
エクセル 未入力セルがあると...
-
Excel2007 色のカウント (VBA)
-
クリックすると文章が表示され...
-
Excel ハイパーリンクのURLを別...
-
エクセル シート保護された共...
-
エクセルでの検索ボックスの作...
-
シート保護とグループ化機能を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
太字に設定されているセルの個...
-
クリックすると文章が表示され...
-
Excelで挿入した図をセルの中央...
-
【マクロ】ファイル名の変更に...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
Excel ハイパーリンクのURLを別...
-
フォントの色を指定して削除出...
-
Excelでセルをクリックす...
-
Excel2007 色のカウント (VBA)
-
エクセルでの検索ボックスの作...
-
現在のセルの位置を返す関数は...
-
エクセル マクロ チェックボックス
-
VBA 見つからなかった時の処理
-
アポストロフィーの一括挿入 ...
-
エクセルでPDFリンクを大量...
-
セルの値が変ると自動でマクロ...
おすすめ情報