[[20220622220006]] 『Worksheet_FollowHyperlinkイベントについて』(るる) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Worksheet_FollowHyperlinkイベントについて』(るる)

こんばんは。
Worksheet_FollowHyperlinkイベントについて教えて下さい。

シート1にシート2のA1へのハイパーリンクを設定して、
シート1のシートモジュールに

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Target.Follow

End Sub

を書いて実行したら、Target.Followのところでエラーが発生しました。
名前ボックスのセルの表示がR1C1になり、「ハイパーリンクの編集」でリンク先を見てみるとこちらもR1C1表記に変わっていました。
でもシートの表示は、設定からR1C1参照形式にしたときのように列名が数字にならず、ABC...のままでした。
この現象はなんなんでしょうか。

Application.EnableEvents = False
Target.Follow
Application.EnableEvents = True

とするとエラーにならないので、Target.FollowによってWorksheet_FollowHyperlinkイベントが
再び呼び出されて無限ループを起こしてしまっていて、何かが起きてしまっているのかなと考えたのですがどうでしょうか。
何が起きてるんでしょうか。(推測が合っているのかもわからないのですが)

また、この現象はwindowsのoffice365では起きるのですが、Macのoffice365では起きず、普通にリンク先のセルにジャンプしました。何故なんでしょうか?

エラーが出ないようにはできたのですが理屈がわからずスッキリしないので、教えていただければ幸いです。

< 使用 Excel:Office365、使用 OS:Windows10 >


自分で意味を調べて意味を理解しなさい。

https://search.yahoo.co.jp/search?p=Follow%E3%80%80vba&fr=top_ga1_sa&ei=UTF-8&ts=9353&aq=-1&oq=&at=&ai=dd617024-5c18-4589-9cfc-5c796a95d26a

(人任せ) 2022/06/22(水) 22:59


調べてもわからなかったので質問したのですが
(るる) 2022/06/24(金) 00:57

 | Target.FollowによってWorksheet_FollowHyperlinkイベントが
 | 再び呼び出されて無限ループを起こしてしまっていて
 という推定は正しいです。

     Target.Follow
 の行にブレークポイントを設定しておき、
 止まったら、F8でステップ実行してみてください。
 再度、自分自身(イベントプロシージャー)が実行されることが確認できます。

 これはChangeイベントプロシージャーでも頻繁に議論されるテーマですね。

 こうした状態になると、コントロールを失っていますから、
 表示形式が変わったりしても、その原因は不明ですし、不明のままでよいのです。
 要するにそういうことはしないようにすればいいわけです。

 また、macの動作も不明です。製品の内部の問題なので解明はできないでしょう。
 そのように作られているとしか、一般ユーザーにはわかりません。
 どうしても気になるなら、マイクロソフト社にお尋ねください。

(γ) 2022/06/24(金) 06:32


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.