アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル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

A 回答 (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 メソッドの場合は、
戻り値のデータ型で判別します。
    • good
    • 0
この回答へのお礼

ありがとうございました。
望んでいたとおりになりました。心から御礼申し上げます。

お礼日時:2013/10/25 11:12

こんにちは!



>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
    • good
    • 0
この回答へのお礼

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

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が出るのは、うーむです。

お礼日時:2013/10/25 11:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!