人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ExcelのVBA記述で質問致します。

今、とあるボタンを押すとあるマクロが実行されるように登録してあります。

普通にこのボタンを押すという挙動はよいのですが、
エスケープボタンを押しながらこのボタンを押すという挙動は
無効になるようにしたいと考えています。

・エスケープボタンを押した状態では、このボタンを押下できないよう制御
・エスケープボタンを押した状態では、マクロを実行できないよう制御
といういずれかを実現したいのですが、どのような記述をすれば
よいでしょうか?

どうぞよろしくお願い致します。

●質問者: yoshifuku
●カテゴリ:コンピュータ
✍キーワード:Excel VBA とある エスケープ ボタン
○ 状態 :終了
└ 回答数 : 1/2件

▽最新の回答へ

1 ● beatgoeson
●60ポイント

一つの方法は、ESCキーが押されているか判定して、押されていれば無いもしないで抜けるようにする。

(1) 標準モジュールを追加して、以下を記述

Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long


(2) ボタンを押した時のマクロの最初の部分に以下のように記述


If GetAsyncKeyState(vbKeyEscape) <> 0 Then

Exit Sub

End If

http://www.happy2-island.com/excelsmile/smile04/capter00301.shtm...

いかがでしょうか。

◎質問者からの返答

ありがとうございます。(1)も(2)も上手くいかなかったのですが、(1)と(2)の両方を記述したら上手くいきました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ