- ベストアンサー
シートのクリックイベントは拾えないのか?
ExcelのVBAに関する質問です。 さきほど「セルをクリック、またはダブルクリックしたときに○○したい」という質問に回答したのですが、「セルをクリックした」というイベントを拾う方法がわからず、ダブルクリックのパターンで回答しました。 Worksheetのイベントには BeforeDobuleClick や BeforeRightClick はあるのに Click や onClick というイベントがありません。オートシェイプなどのオブジェクトやフォーム上のオブジェクトには Click イベントがあるのですが、Worksheet になぜかありません。 これまでも同様のケースがあり、ネットで検索したりしたのですが、どれも SelectionChange で代用するものでした。それだと確かにマウスで別セルを選択したときにイベントが発生しますが、 ・キーボード操作でセルを移動してもイベントが発生する ・現在選択しているセルをクリックしてもイベントが発生しない と、厳密はマウスでクリックしたときと同じ動作になりません。 確か以前の質問で「あるセルをクリックするたびに、他のセルの値をカウントアップしたい」というようなものもありました。このような場合には、やはり Click に相当するようなイベントで処理したいです。 どうにかしてWorksheetでクリックイベントを拾うことはできないのでしょうか?
- みんなの回答 (5)
- 専門家の回答
お礼
わざわわざ調べていただき、ありがとうございました。 Wendy02様が調べても無理なのであれば、やはり無理なんでしょうね。 > ここでのクラスは、あくまでも、与えられている種類の > イベント(WithEvents)の範囲内であって、私も、Worksheetの > オブジェクト自体の基底クラスに継承することなら不可能だと思います。 やはりそうなんですよね。仕組みとしてユーザに与えられていない部分には手を出しようがないのですね。 参考URLもありがとうございます。これを読んで自分でもいろいろ試してみようと思います。