- ベストアンサー
エクセルマクロでinputboxメソッドゼロ入力
エクセル2007です。 以下のマクロで、inputboxメソッドで質問させると、キャンセルボタンを押すと、うまいぐあいに止まります。 しかし、0を押しても、止まってしまいます。本当は、C2にゼロと表示させたいのです。 Sub 練習() Dim myR myR = Application.InputBox(prompt:="数量を入力しなさい", Type:=1) If myR = False Then Exit Sub Range("C2").Value = myR End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Sub 練習() Dim myR myR = Application.InputBox(prompt:="数量を入力しなさい", Type:=1) If VarType(myR) = vbBoolean Then Exit Sub Range("C2").Value = myR End Sub Application.InputBox メソッドの場合は、 戻り値のデータ型で判別します。
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! >If myR = False Then Exit Sub の部分を >If myR = "" Then Exit Sub としてみてはどうでしょうか? FALSE=0 のコトですので、 何も変化なくマクロが終わってしまいます。 尚、質問のコードではインプットボックスタイプを >Type:=1 とされていらっしゃるので、 数値の場合がTRUE・文字列の場合はFALSEとなります。 というコトは >If myR = True Then Exit Sub としても大丈夫だと思います。m(_ _)m
お礼
ありがとうございました。 Sub 練習() Dim myR myR = Application.InputBox(prompt:="数量を入力しなさい", Type:=1) If myR = "" Then Exit Sub Range("C2").Value = myR End Sub にしたら、0を入力したらちゃんと0が出ましたが、キャンセルボタンを押すと、C2にfalseがでました。 falseが出るのは、うーむです。
お礼
ありがとうございました。 望んでいたとおりになりました。心から御礼申し上げます。