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

Excel vbaでApplication.InputBoxでキャンセルと0を判定する方法。 現在組んでいるマクロでは a = Application.InputBox("数値",Type:=1) If a = False Then Exit Sub としています。 しかしこれでは、0を入力してもExit Subされてしまい困っています。 何か対処法はあるのでしょうか? 詳しい方ご教授願います。

Excel59閲覧

ベストアンサー

0

変数aはバリアント型が前提でこんな感じです。 If TypeName(a) = "Boolean" Then Exit Sub

その他の回答(2件)

0

同じ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の値を表示