Excel2000及びExcel2010で動作させるVBAマクロを作成しております。
シート上にコマンドボタン配置し、データチェックを行うマクロを登録してあります。
任意のセルにデータを入力し、コマンドボタンを押下することで
マクロが実行され、セルの内容をチェックし、不正があればセルを赤くします。
また新たにセルに値が入力されたときにはセルを白くしています。
※セルに値が入ったことを認識するためにWorkbook_SheetSelectionChangeのイベントを利用しています。
基本的には問題なく動作するのですが、
下記の場合、Excel2000と2010で動作が異なって困っています。
★手順
(1)任意のセルで”F2"キーを押下し、編集状態とする。
(2)そのままの状態でデータチェックのコマンドボタンを押下する。
【Excel2000の場合】
コマンドボタンが押せない。
【Excel2010の場合】
コマンドボタンが押せる。
このとき、データチェックのマクロがまず実行され、
セルの内容に不正がある場合は赤くなるが、
直後にWorkbook_SheetSelectionChangeイベントが発生し、
「新しい入力」と判断してセルがすぐに白くなってしまう。
=>一瞬セルが赤くなるがすぐに白くなる。
なんとかExcel2000と2010とで動作内容を合わせたいのです。
そこで、コマンドボタンが押下されたとき、
編集中のセルが存在すればマクロは実行しない・・・という方法を考えましたが、
「セルが編集中」であるかはどのようにして判断すればよいでしょうか?
No.1ベストアンサー
- 回答日時:
2010を持ってないので、試せないんですが。
アイディア程度に…ツールバーの使用可否チェックしたら出来ないかなと@下記参照(お仲間ですか?)
http://questionbox.jp.msn.com/qa6649067.html
あと、先にイベント処理しちゃう手もあるんじゃ?挙動は同じにならないですが…
Selection.Offset(1,0).select 'もしかしたらココでChangeイベント発生
DoEvents 'Selectで発生しないなら、コチラで呼び出し
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) マクロを教えてください 3 2023/07/31 21:57
- Excel(エクセル) マクロを教えてください 2 2023/07/30 23:05
- Excel(エクセル) 【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力 3 2023/01/25 00:12
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- その他(プログラミング・Web制作) Pythonでexcelのvbaを作成、実行する方法について Pythonで表の自動集計プログラムを 3 2022/07/09 09:58
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
【Excel】指定したセルの名前で...
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
EXCELで変数をペーストしたい
-
Excel vbaで特定の文字以外が入...
-
i=cells(Rows.Count, 1)とi=cel...
-
ExcelのVBAで数字と文字列をマ...
-
【VBA】指定したセルと同じ値で...
-
特定の文字を条件に行挿入とそ...
-
セル色なしの行一括削除
-
VBA実行後に元のセルに戻りたい
-
【VBA】シート上の複数のチェッ...
-
指定した条件で範囲選択したい
-
Excel VBA、 別ブックの最終行...
-
EXCELのVBA-フィルタ抽出後の...
-
実行時エラー438 オブジェクト...
-
先頭と末尾を指定して連続した...
-
EXCEL VBA 画面のロックについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excelで指定した日付から過去の...
-
【Excel】指定したセルの名前で...
-
Excel vbaで特定の文字以外が入...
-
特定の文字を条件に行挿入とそ...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
Excelのプルダウンで2列分の情...
-
EXCELで変数をペーストしたい
-
連続する複数のセル値がすべて0...
-
Excel VBA、 別ブックの最終行...
-
VBAを使用した時間管理
-
エクセルVBAでコピーして順...
-
セル色なしの行一括削除
-
【EXCEL VBA】Range("A:A").Fi...
-
VBA コピーして次の値まで貼り...
-
VBA初心者です。結合セルを保持...
おすすめ情報