
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も見ています
-
インプットBox Type:=1で空白でOK選択
Excel(エクセル)
-
VBAでInputBoxの再入力をさせるには?
Visual Basic(VBA)
-
InputBox キャンセルボタンが押された時の処理
Excel(エクセル)
-
-
4
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
5
InputBoxの入力値を半角数字のみと限定する方法
Excel(エクセル)
-
6
InputBoxに入力した言葉をシート名にしたい!
Excel(エクセル)
-
7
EXCEL VBA でインプットボックスを開いたときの入力モードの設定について
Excel(エクセル)
-
8
excelのInputBoxで日本語入力OFFにしたい
Excel(エクセル)
-
9
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
10
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
11
エクセルVBA、入力しないと閉じないInputBox
Excel(エクセル)
-
12
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
13
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
14
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
15
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
16
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
17
エクセルのvbaにて thisworkbookに記載のマクロを他のブックにマクロにて自動コピー出来る
Excel(エクセル)
-
18
InputBoxでキャンセルボタンを押したらファイル自体を閉じたい
Visual Basic(VBA)
-
19
フォントの大きさ
Visual Basic(VBA)
-
20
VBAでページ番号、ページ最終行を取得する方法
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseコンソール表示を、リセ...
-
*をユーザーが入力した数字の数...
-
java初心者です。入力されたの...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
Excel VBAで、Application.Inpu...
-
C言語 While文(ループ)内の...
-
プログラムC言語の整数の約数に...
-
プログラミング初心者です。 Py...
-
UWSCで変数をキー入力
-
"scanf"でエンターで改行させな...
-
Eclipseでコマンドラインを入力...
-
getchar()について 教えてくだ...
-
4桁の数字以外を入力したらエラ...
-
Linuxプログラミングで、キーボ...
-
C言語の入出力関数の違い
-
ワードで文字を入力する時の変...
-
至急!! C言語で多数入力をま...
-
IF文で戻ることはできますか?...
-
入力エラーの処理について。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
数字以外が入力されたらエラー...
-
*をユーザーが入力した数字の数...
-
java初心者です。入力されたの...
-
正負を反転させて出力するプロ...
-
Eclipseコンソール表示を、リセ...
-
scanfが2回使えない・・・?;
-
プログラミング初心者です。 Py...
-
C言語でgetchar();が上手く使え...
-
Excel VBAで、Application.Inpu...
-
電卓の小数点
-
cout関数を使っているのですが...
-
"scanf"でエンターで改行させな...
-
小数か整数かを判定する方法
-
至急教えてください!プログラ...
-
getchar()について 教えてくだ...
-
scanf が無視されます
-
batプログラム上で文字列を入力...
-
コマンドプロンプトからのEOFの...
-
IF文で戻ることはできますか?...
-
プログラミングの問題です 「金...
おすすめ情報