![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
こんばんは。
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
TeraTermマクロのinputboxで入力した値をメッセージ確認表示するには?
サーバー
-
5
Excel VBAで、Application.InputBoxのキャンセルと入力値ゼロを区別したい。
Visual Basic(VBA)
-
6
InputBoxの入力値を半角数字のみと限定する方法
Excel(エクセル)
-
7
Msgboxの×が押されたとき
Excel(エクセル)
-
8
InputBoxでキャンセルボタンを押したらファイル自体を閉じたい
Visual Basic(VBA)
-
9
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
10
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
11
Excel-VBAでInputBox+Pulldownは可能??
Visual Basic(VBA)
-
12
Inputboxの表示位置(VBA)
Excel(エクセル)
-
13
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
14
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
15
年月日を持つテーブルから年月を指定して抽出したいのですが
その他(データベース)
-
16
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
17
ボタン
Visual Basic(VBA)
-
18
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
19
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
20
VBAで「セルに何か入っている場合」
Windows Me・NT・2000
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
印刷時に、複数ページに共通な...
-
InputBox キャンセルボタンが...
-
Wordで、タイトルと名前は真ん...
-
Excel:2ページ目以降のタイト...
-
Edgeで検索した画面を1つ前の...
-
Finale NotePad 2012 タイト...
-
Word 印刷タイトル
-
詩の題名はつけたほうがいいで...
-
エクセル2000:マクロ(自動記...
-
ホームページ作成初心者です。
-
ワイルドカード 「Not like」
-
文芸思潮現代詩賞への応募を考...
-
HPのサブタイトル&バナーについて
-
Wordに登録したタイトル(表題...
-
もし15000円分好きな物を買って...
-
音楽のレポートの書き方につい...
-
Wordのプロパティ「タイトル」...
-
縛上げってどんな意味ですか?
-
コメントしたいとき 入力するもの
-
DVDの副音声が聞きたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷時に、複数ページに共通な...
-
Wordで、タイトルと名前は真ん...
-
Excel:2ページ目以降のタイト...
-
InputBox キャンセルボタンが...
-
教えてGooの回答の信憑性てどの...
-
DVDの副音声が聞きたい
-
【Excel】複数のタイトル行を設...
-
12インチって何センチ?
-
Wordに登録したタイトル(表題...
-
【WORD2003】表の繰り返しタイ...
-
柳田國男の「日本には世間があ...
-
『む』からはじまるポジティブ...
-
音楽のレポートの書き方につい...
-
詩の題名はつけたほうがいいで...
-
Finale NotePad 2012 タイト...
-
Excel VBAのINPUT BOX...
-
過去の全国の波の高さデータが...
-
Exact Audio Copyで曲情報が表...
-
ワイルドカード 「Not like」
-
Wordのプロパティ「タイトル」...
おすすめ情報