![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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(エクセル)
-
Inputboxの表示位置(VBA)
Excel(エクセル)
-
VBAでInputBoxの再入力をさせるには?
Visual Basic(VBA)
-
-
4
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
9
Msgboxの×が押されたとき
Excel(エクセル)
-
10
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
11
Excel-VBAでInputBox+Pulldownは可能??
Visual Basic(VBA)
-
12
InputBox キャンセルボタンが押された時の処理
Excel(エクセル)
-
13
エクセルマクロでinputboxメソッドゼロ入力
Excel(エクセル)
-
14
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
15
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
16
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
17
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
18
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
19
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
20
VBA Shapes コピーと名前
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミング初心者です。 Py...
-
*をユーザーが入力した数字の数...
-
"scanf"でエンターで改行させな...
-
数字以外が入力されたらエラー...
-
scanf が無視されます
-
正負を反転させて出力するプロ...
-
batプログラム上で文字列を入力...
-
C言語 for文をつかって記号を表...
-
ワードで文字を入力する時の変...
-
数字と、文字列入力のチェック...
-
Spreadのコンボボックス
-
"gets"は危険なのでしょうか?
-
Eclipseでコマンドラインを入力...
-
C言語scanf_sで何故か2回入力に...
-
C言語 逆ピラミッドの作り方
-
C言語でgetchar();が上手く使え...
-
Linuxプログラミングで、キーボ...
-
VisualStudio2019のコードアナ...
-
コマンドプロンプトからのEOFの...
-
Linuxで入力待ちなしkeyread関...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
java初心者です。入力されたの...
-
プログラミングの問題です 「金...
-
Eclipseコンソール表示を、リセ...
-
C言語 逆ピラミッドの作り方
-
"scanf"でエンターで改行させな...
-
scanf が無視されます
-
if文の条件にscanf関数を使うと…?
-
C言語について
-
C言語scanf_sで何故か2回入力に...
-
Excel VBAで、Application.Inpu...
-
double型が正常に認識されてい...
-
cout関数を使っているのですが...
-
小数か整数かを判定する方法
-
WindowsでEOF
-
scanfが2回使えない・・・?;
-
C言語でgetchar();が上手く使え...
おすすめ情報