ここから本文です

Excel vbaでApplication.InputBoxでキャンセルと0を判定する方法。

basket_ballさん

2018/10/2518:13:03

Excel vbaでApplication.InputBoxでキャンセルと0を判定する方法。

現在組んでいるマクロでは
a = Application.InputBox("数値",Type:=1)
If a = False Then Exit Sub

としています。

しかしこれでは、0を入力してもExit Subされてしまい困っています。

何か対処法はあるのでしょうか?

詳しい方ご教授願います。

閲覧数:
58
回答数:
3

違反報告

ベストアンサーに選ばれた回答

msk********さん

2018/10/2519:43:03

変数aはバリアント型が前提でこんな感じです。

If TypeName(a) = "Boolean" Then Exit Sub

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

wyb********さん

2018/10/2522:24:43

同じinputboxではありませんがこのようにしたら行けます。
Dim a As String ' InputBoxの戻り
Dim flg As Boolean ' 数値かどうかの判定フラグ
flg = False
Do
a = InputBox("数値を入力してください。")
If StrPtr(a) = 0 Then Exit Sub ' キャンセル時に終了
If IsNumeric(a) Then flg = True
Loop Until flg = True
MsgBox CDbl(a) 'aの値を表示

plo********さん

2018/10/2518:56:55

If a = False And VarType(a) = vbBoolean Then Exit Sub

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる