Excelのセル変化イベント
Excel2000及びExcel2010で動作させるVBAマクロを作成しております。
シート上にコマンドボタン配置し、データチェックを行うマクロを登録してあります。
任意のセルにデータを入力し、コマンドボタンを押下することで
マクロが実行され、セルの内容をチェックし、不正があればセルを赤くします。
また新たにセルに値が入力されたときにはセルを白くしています。
※セルに値が入ったことを認識するためにWorkbook_SheetSelectionChangeのイベントを利用しています。
基本的には問題なく動作するのですが、
下記の場合、Excel2000と2010で動作が異なって困っています。
★手順
(1)任意のセルで”F2"キーを押下し、編集状態とする。
(2)そのままの状態でデータチェックのコマンドボタンを押下する。
【Excel2000の場合】
コマンドボタンが押せない。
【Excel2010の場合】
コマンドボタンが押せる。
このとき、データチェックのマクロがまず実行され、
セルの内容に不正がある場合は赤くなるが、
直後にWorkbook_SheetSelectionChangeイベントが発生し、
「新しい入力」と判断してセルがすぐに白くなってしまう。
=>一瞬セルが赤くなるがすぐに白くなる。
なんとかExcel2000と2010とで動作内容を合わせたいのです。
そこで、コマンドボタンが押下されたとき、
編集中のセルが存在すればマクロは実行しない・・・という方法を考えましたが、
「セルが編集中」であるかはどのようにして判断すればよいでしょうか?