
こんばんは。
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になってしまいます。
回避方法を教えてください。
よろしくお願いします。

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も見ています
-
Excel VBAで、Application.InputBoxのキャンセルと入力値ゼロを区別したい。
Visual Basic(VBA)
-
vba
Access(アクセス)
-
InputBox関数でキャンセルボタンを不活性化させたいです
Excel(エクセル)
-
-
4
InputBoxでキャンセルボタンを押したらファイル自体を閉じたい
Visual Basic(VBA)
-
5
tera term マクロのinputbox
その他(コンピューター・テクノロジー)
-
6
【マクロ】メッセージボックスにて、キャンセルをクリックしたら、マクロ終了。エクセルへ戻すには
Excel(エクセル)
-
7
VBAでInputBoxの再入力をさせるには?
Visual Basic(VBA)
-
8
エクセルVBA、入力しないと閉じないInputBox
Excel(エクセル)
-
9
excel vbaから実行するexe実行の黒い画面の非表示
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel:2ページ目以降のタイト...
-
印刷時に、複数ページに共通な...
-
12インチって何センチ?
-
お気に入りの追加をすると。。
-
Wordのプロパティ「タイトル」...
-
LINEStudioでの英語タイトルに...
-
InputBox キャンセルボタンが...
-
Wordで、タイトルと名前は真ん...
-
2ちゃんねるキャラ モナーの感...
-
Wordに登録したタイトル(表題...
-
Finale NotePad 2012 タイト...
-
「お牢」の読み方
-
Excel VBA でグラフタイトルの...
-
パズドラ 変身なしで、割とお手...
-
柳田國男の「日本には世間があ...
-
日記文学が始まったきっかけは...
-
過去の全国の波の高さデータが...
-
いわゆる「植物人間」の現在の...
-
高校生のおこずかいの平均
-
DVDタイトルの「タイトル」とは...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷時に、複数ページに共通な...
-
Excel:2ページ目以降のタイト...
-
Wordで、タイトルと名前は真ん...
-
Wordに登録したタイトル(表題...
-
DVDの副音声が聞きたい
-
12インチって何センチ?
-
【Excel】複数のタイトル行を設...
-
Finale NotePad 2012 タイト...
-
【WORD2003】表の繰り返しタイ...
-
InputBox キャンセルボタンが...
-
印刷のタイトルは行も列も同時...
-
詩の題名はつけたほうがいいで...
-
いわゆる「植物人間」の現在の...
-
高校生のおこずかいの平均
-
助けてください
-
ワイルドカード 「Not like」
-
HPのタイトルはどのようにすれ...
-
Win Media Playerにタイトル
-
質問タイトルに最低文字数が必...
-
Excel VBAのINPUT BOX...
おすすめ情報