
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
マクロを実行すると画像がズレ...
-
アポストロフィーの一括挿入 ...
-
エクセルでPDFリンクを大量...
-
Excel2007 色のカウント (VBA)
-
Excel ハイパーリンクのURLを別...
-
Excelで、図形内の文字をセルに...
-
エクセル 数字をすべて○などの...
-
エクセルマクロ 赤色の文字を検...
-
太字に設定されているセルの個...
-
エクセル 未入力セルがあると...
-
ページ内ハイパーリンクの表示...
-
未記入がある場合はマクロを実...
-
Excelで挿入した図をセルの中央...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
エクセル シート保護された共...
-
現在のセルの位置を返す関数は...
-
VBAで特定の文字以降の文字列の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
Excelで、図形内の文字をセルに...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
Excel ハイパーリンクのURLを別...
-
マクロを実行すると画像がズレ...
-
太字に設定されているセルの個...
-
Excel2007 色のカウント (VBA)
-
フォントの色を指定して削除出...
-
エクセルVBA
-
Excel:セルの値(文字列)を数...
-
エクセル 未入力セルがあると...
-
現在のセルの位置を返す関数は...
-
エクセルでPDFリンクを大量...
-
セルの内容をテキストボックス...
-
シート保護とグループ化機能を...
-
ページ内ハイパーリンクの表示...
-
セルがクリックされた回数をカ...
おすすめ情報