こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel VBA Escキー押下をコードで表わすと…

Excel VBA Escキー押下をコードで表わすと…

Excel2003を使用しています。
ある列をダブルクリックすると、指定した範囲のセルを塗りつぶすイベントマクロを作成しました。
ダブルクリックで塗りつぶされた後は、セルが編集状態になっているので、Escキーを押して編集状態を解除していましたが、Escキーを押して編集状態を解除するところまでをコードに書いたらどうかと思い、塗りつぶしを指定しているコードの後に、『SendKeys "{ESC}"』と追加してみたのですが、追加する前と同じ状況で、編集状態のままでした。

Enterや↓キーを押した場合を試しに書いてみると、塗りつぶされた後、1つ下のセルに移動しました。
コードを追加した場所がいけないのか、それとも、使い方が間違っているのか…??
どなたかわかる方がいらっしゃいましたら、教えていただけないでしょうか。
よろしくお願いします。

投稿日時 - 2010-06-01 15:31:11

QNo.5937306

暇なときに回答ください

質問者が選んだベストアンサー

 
ダブルクリックイベントの引数CancelにTrueをセットすれと編集モードが解除されます。

'--------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  
  ===塗りつぶしのコード===
 
  Cancel = True    '●編集モードの解除

End Sub
'---------------------------------------------------

以上です。
 

投稿日時 - 2010-06-01 15:47:52

お礼

myRange さま、回答ありがとうございます。

ダブルクリックイベントの引数CancelにTrueをセットしなければいけないのですね。
Trueをセットすると、指定したセル以外でのダブルクリックでも、セルを編集状態にできなくなりますが、今回の場合はこれでも問題はなさそうです。

ありがとうございました。

投稿日時 - 2010-06-02 09:13:16

ANo.1

このQ&Aは役に立ちましたか?

13人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>編集状態
? コピーモードじゃないですか

Application.CutCopyMode = False
ではダメですか

投稿日時 - 2010-06-02 06:09:00

補足

> ? コピーモードじゃないですか

いいえ、編集状態です…。
F2キーを押下した状態と同じで、カーソルが点滅していて画面左下に『編集』と表示されています。

投稿日時 - 2010-06-02 09:21:49

あなたにオススメの質問