Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8698 / 13645 ツリー ←次へ | 前へ→

【31720】入力キャンセルの認識方法について Maybe 05/11/29(火) 11:52 質問[未読]
【31725】Re:入力キャンセルの認識方法について Jaka 05/11/29(火) 12:17 発言[未読]
【31726】Re:入力キャンセルの認識方法について Maybe 05/11/29(火) 12:31 お礼[未読]

【31720】入力キャンセルの認識方法について
質問  Maybe  - 05/11/29(火) 11:52 -

引用なし
パスワード
   以下のInputBoxメソッドにおいて、入力キャンセルの認識方法についてお尋ねします。
前提として、入力値は『数値タイプで、0は有効かつデフォルト』とします。

  My_Msg = "値を入力してください。"
  My_Value = Application.InputBox(Prompt:=My_Msg, Default:=0, Type:=1)

ここで、キャンセルボタンが押された場合にサブを抜けたいのですが、これを

  If My_Value = False Then Exit Sub

とコードすると、0のままOKボタンを押した場合もサブを抜けてしまいます。
(いずれを押した場合も0を返すので、Falseと認識されるようです。)

入力値に関わらず、キャンセルを認識する方法をご教示ください。
なお、InputBox関数はデータ型およびデフォルトが指定できないのでNGです。

【31725】Re:入力キャンセルの認識方法について
発言  Jaka  - 05/11/29(火) 12:17 -

引用なし
パスワード
   こんにちは。

Dim My_Value As Variant
My_Value = Application.InputBox(Prompt:=My_Msg, Default:=0, Type:=1)
If VarType(My_Value) = vbBoolean Then

【31726】Re:入力キャンセルの認識方法について
お礼  Maybe  - 05/11/29(火) 12:31 -

引用なし
パスワード
   Jakaさま

感激です!
早速にありがとうございます。
ご回答戴いたのはこれが2回目です。

今後ともよろしくおねがいいたします。

8698 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free