No.2ベストアンサー
- 回答日時:
こんな感じでは
Sub aaa()
Dim ret As String
ret = Application.InputBox("数字を入力下さい", , , , , , , 2)
If ret = "" Then
MsgBox "何も入力されていません"
ElseIf ret = "False" Then
MsgBox "キャンセルボタンが押されました"
ElseIf ret = "0" Then
MsgBox "0が入力されました"
ElseIf IsNumeric(ret) = False Then
MsgBox "文字が入力されてします" & vbCrLf & ret
Else
MsgBox "数字です" & vbCrLf & ret
debug.print val(ret)
End If
End Sub
戻り値 Retを数字として受けるのではなく文字で受ければFalseも分かります。
No.1
- 回答日時:
0はFalseを数値で表した場合の値です。
逆にTrueは0以外です。
InputBox()は、OKですと、入力された値を返します。
キャンセルですと、空白文字を返します。
つまり、判定はTrue/Falseではなく、""かどうかという判定になります。
但し、OKを押した場合にも、入力値が無ければ""となります。
Application.InputBoxと記述した場合にはExcel VBAのInputBoxメソッドを意味し、InputBoxと記述した場合にはVisual BasicのInputBox関数を意味すると理解しています。それぞれのキャンセルの意味は、
InputBoxメソッドのキャンセル=False=0
InputBox関数のキャンセル=""
と言うことですね?
作成中のマクロでは、InputBoxメソッドを使用したいのですが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBA No.を自動連番で設定をしながらデータ入力をしたい 2 2022/08/03 18:19
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Excel(エクセル) VBA SUM関数を入力したい 6 2022/08/20 20:10
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
インプットBox Type:=1で空白でOK選択
Excel(エクセル)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
VBAでInputBoxの再入力をさせるには?
Visual Basic(VBA)
-
-
4
Inputboxの表示位置(VBA)
Excel(エクセル)
-
5
InputBox キャンセルボタンが押された時の処理
Excel(エクセル)
-
6
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
7
Msgboxの×が押されたとき
Excel(エクセル)
-
8
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
最も近い数値のあるセルを探す
Excel(エクセル)
-
11
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
13
Excel2010のinputboxで複数データ一括入力について
Visual Basic(VBA)
-
14
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
15
InputBoxの入力値を半角数字のみと限定する方法
Excel(エクセル)
-
16
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
17
Excel-VBAでInputBox+Pulldownは可能??
Visual Basic(VBA)
-
18
VBA スペースが入力されていても、空白セルと判断する方法
Excel(エクセル)
-
19
エクセルVBA、入力しないと閉じないInputBox
Excel(エクセル)
-
20
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正負を反転させて出力するプロ...
-
java初心者です。入力されたの...
-
*をユーザーが入力した数字の数...
-
数字以外が入力されたらエラー...
-
プログラミングの問題です 「金...
-
cout関数を使っているのですが...
-
プログラミング初心者です。 Py...
-
"scanf"でエンターで改行させな...
-
Userformの入力順序をタブオー...
-
scanfが2回使えない・・・?;
-
ワードで文字を入力する時の変...
-
if文の条件にscanf関数を使うと…?
-
入力値が1以下、かつ数字以外の...
-
java 入力された文字列を数値に...
-
プログラム(C)
-
scanf関数について
-
WindowsでEOF
-
2進数の1の数を数える問題
-
Linuxで入力待ちなしkeyread関...
-
プログラムC言語の整数の約数に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
double型が正常に認識されてい...
-
プログラミング初心者です。 Py...
-
正負を反転させて出力するプロ...
-
Excel VBAで、Application.Inpu...
-
C言語について。
-
batプログラム上で文字列を入力...
-
*をユーザーが入力した数字の数...
-
cout関数を使っているのですが...
-
漢字のソートについて
-
数字以外が入力されたらエラー...
-
Userformの入力順序をタブオー...
-
ワードで文字を入力する時の変...
-
Linuxで入力待ちなしkeyread関...
-
java初心者です。入力されたの...
-
EDITコントロールで入力できる...
-
Eclipseコンソール表示を、リセ...
-
小数か整数かを判定する方法
-
C言語scanf_sで何故か2回入力に...
-
VB.NETで16進数+16進数や16進...
-
Linuxプログラミングで、キーボ...
おすすめ情報