![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんばんは。
Sub test()
Dim タイトル As String
タイトル = InputBox("タイトルを入力してください。")
If Cancel = True Then Exit Sub
’次のコード・・・
’次のコード・・・
End Sub
このコードを実行した時に
下記のダイアログが出てきて
右のキャンセルボタンを押すと、
「If Cancel = True Then Exit Sub」
でsubステートメントを抜けたいのですが
「Cancel」の部分が
「変数が定義されていません」とエラーになってしまいます。
Dim Cancel As Boolean
を追加してキャンセルボタンを押しても
TrueではなくFalseになってしまいます。
回避方法を教えてください。
よろしくお願いします。
![「InputBox キャンセルボタンが押さ」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/1/19155031_5497c0c545407/M.jpg)
No.5
- 回答日時:
こんばんは。
一般的に、InputBox (関数)に、0と[ESC]の区別が付きません。本当は、キャンセル(Esc)は、「0」ではないけれども、数字の0のようしか見えません。ただし、数字で使えるのは、1回だけです。特殊なコードが混じりこんでいます。以下は、トライアルのコードで、実際には使われません。
かつては、StrPtr関数で判定をしていました。
Dim ret As Variant 'Variant 型に指定
Dim buf() As Byte
ret = InputBox("タイトルを入力してください。")
buf = ret 'パイナリで調べる
If UBound(buf) < 0 Then Exit Sub
MsgBox ret
現在は、Applicaiton.InputBox (メソッド)を使うようにします。
Dim ret As Variant 'Variant 型に指定
ret = Application.InputBox("タイトルを入力してください。", Type:=2) '文字で返す
If VarType(ret) = vbBoolean Or ret = "" Then Exit Sub
'次のコード・・・
'次のコード・・・
後は、#4さんのリンク先の通りです。
No.4
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
vba
Access(アクセス)
-
tera term マクロのinputbox
その他(コンピューター・テクノロジー)
-
VBAでInputBoxの再入力をさせるには?
Visual Basic(VBA)
-
-
4
Excel VBAで、Application.InputBoxのキャンセルと入力値ゼロを区別したい。
Visual Basic(VBA)
-
5
TeraTermマクロのinputboxで入力した値をメッセージ確認表示するには?
サーバー
-
6
InputBoxの入力値を半角数字のみと限定する方法
Excel(エクセル)
-
7
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
EXCEL VBA でインプットボックスを開いたときの入力モードの設定について
Excel(エクセル)
-
10
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
11
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
12
Msgboxの×が押されたとき
Excel(エクセル)
-
13
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
14
Inputboxの表示位置(VBA)
Excel(エクセル)
-
15
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
16
InputBoxでキャンセルボタンを押したらファイル自体を閉じたい
Visual Basic(VBA)
-
17
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
18
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
19
フォントの大きさ
Visual Basic(VBA)
-
20
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
印刷時に、複数ページに共通な...
-
Wordで、タイトルと名前は真ん...
-
InputBox キャンセルボタンが...
-
【WORD2003】表の繰り返しタイ...
-
【Excel】複数のタイトル行を設...
-
過去の全国の波の高さデータが...
-
Wordに登録したタイトル(表題...
-
柳田國男の「日本には世間があ...
-
The Ink Black Heartの意味を教...
-
漢文読み順です。1562437の返点...
-
「ハートに火をつけて」
-
いわゆる「植物人間」の現在の...
-
LINEStudioでの英語タイトルに...
-
音楽 圧縮ファイル CD-Rに焼く ...
-
12インチって何センチ?
-
DVDの副音声が聞きたい
-
変わり冷や汁レシピ 教えて
-
ワイルドカード 「Not like」
-
Excel:2ページ目以降のタイト...
-
教えてGooの回答の信憑性てどの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷時に、複数ページに共通な...
-
Excel:2ページ目以降のタイト...
-
Wordで、タイトルと名前は真ん...
-
教えてGooの回答の信憑性てどの...
-
12インチって何センチ?
-
Wordに登録したタイトル(表題...
-
【Excel】複数のタイトル行を設...
-
DVDの副音声が聞きたい
-
【WORD2003】表の繰り返しタイ...
-
柳田國男の「日本には世間があ...
-
音楽のレポートの書き方につい...
-
InputBox キャンセルボタンが...
-
Finale NotePad 2012 タイト...
-
もし15000円分好きな物を買って...
-
アクセス レポート テキスト...
-
DVDタイトルの「タイトル」とは...
-
詩の題名はつけたほうがいいで...
-
印刷のタイトルは行も列も同時...
-
ワイルドカード 「Not like」
-
Wordのプロパティ「タイトル」...
おすすめ情報