WinXP、Excel2002です。
InputboxメソッドでRangeオブジェクトを取得
しようとしています。
ヘルプを見て、
Set myRange = Application.InputBox(prompt := "Sample", type := 8)
を適用したのですが、これではダイアログのボタンで
キャンセルすると、Setの部分でエラーになってしまいます。
これを回避するため、いろいろ考えましたが、結局On Error Resume Nextでエラーを無視することにしました。
私が初心者なもので、キャンセルや不正な入力のときのもっと適切なやり方があるのではと思い質問させていただきます。
みなさんは、inputboxでキャンセルや不正な入力があったとき、どのようにプログラムされているのでしょうか?
No.1ベストアンサー
- 回答日時:
ある本のApplication.InputBoxの説明には、エラーが起こった時の処理について次の3つが挙げられています(当たり前のことですが)。
On Error はエラーが発生した時に行いたい処理によって
(1)On Error Resume Next
(2)On Error GoTo Line
(3)On Error GoTo 0
がある。
Type=8の場合は処理を続けても意味がない場合がおおく
(2)でEnd Subの手前まで飛ばすケースが多いのでは。
On Error Exit Subは使えないでしょうから。
早速のご回答ありがとうございます。
Application.InputBoxとともにOn Errorステートメントを使うのは一般的なんですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBA No.を自動連番で設定をしながらデータ入力をしたい 2 2022/08/03 18:19
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) エクセルVBA 3 2022/06/23 20:00
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) Csvファイルの最終行を取得する構文はこれであっていますか?オブジェクトは、このプロパティまたはメソ 3 2022/12/26 14:38
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 空白のセルを変更しようとした時(アクティブセル)に インプットボックスを5回出す インプットボックス 1 2023/03/14 11:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル関数を教えてください
-
UserForm1.Showでエラーになり...
-
マクロで"#N/A"のエラー行を削...
-
実行時エラー 438 の解決策をお...
-
お助けください!VBAのファイル...
-
インポート時のエラー「データ...
-
String""から型'Double'への変...
-
VB.net 重複チェックがしたいです
-
エクセルVBA 「On Error GoTo...
-
VBAでfunctionを利用しようとし...
-
「実行時エラー '3167' レコー...
-
ASPで、変数名に、変数を入れら...
-
変数にするとエラーになる理由は?
-
【Access】Excelインポート時に...
-
実行時エラー'-2147467259(8000...
-
Excel vbaについての質問
-
ADO 「認証に失敗しました」
-
マクロの「SaveAs」でエラーが...
-
【VB.NET】 パワポ操作を非表示で
-
ACCESSで値を代入できないとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
実行時エラー 438 の解決策をお...
-
マクロで"#N/A"のエラー行を削...
-
On ErrorでエラーNoが0
-
エクセルVBA 「On Error GoTo...
-
VBA データ(特定値)のある最...
-
実行時エラー'-2147467259(8000...
-
【VBA】ワークブックを開く時に...
-
VBでSQL文のUPDATE構文を使った...
-
ACCESSで値を代入できないとは?
-
マクロの「SaveAs」でエラーが...
-
Excel vbaについての質問
-
インポート時のエラー「データ...
-
Filter関数を用いた結果、何も...
-
「実行時エラー '3167' レコー...
-
バッチファイルで、あるスクリ...
おすすめ情報