アプリ版:「スタンプのみでお礼する」機能のリリースについて

WinXP、Excel2002です。

InputboxメソッドでRangeオブジェクトを取得
しようとしています。

ヘルプを見て、
Set myRange = Application.InputBox(prompt := "Sample", type := 8)

を適用したのですが、これではダイアログのボタンで
キャンセルすると、Setの部分でエラーになってしまいます。

これを回避するため、いろいろ考えましたが、結局On Error Resume Nextでエラーを無視することにしました。

私が初心者なもので、キャンセルや不正な入力のときのもっと適切なやり方があるのではと思い質問させていただきます。

みなさんは、inputboxでキャンセルや不正な入力があったとき、どのようにプログラムされているのでしょうか?

A 回答 (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は使えないでしょうから。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
Application.InputBoxとともにOn Errorステートメントを使うのは一般的なんですね。

お礼日時:2003/12/08 01:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!