• ベストアンサー

エクセルVBAでのエラー対処

テキストボックスに数字以外の文字が入ったら、「型が一致しません。」のエラーでストップしてしまいます。 これを、エラー表示だけして、マクロを継続できるような方法を教えて下さい。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kikaida-
  • ベストアンサー率69% (37/53)
回答No.2

テキストボックスの名前がtext1だったとします。 if isNumeric(text1) = false then   msgbox "数値を入力してください。"   exit sub end if このような処理をいれれば、数値以外の値を入力した際にエラーメッセージがでて最初にもどります。 プログラムを作成するときは、実行する処理の前に上のようなエラーチェックが必要となります。

komusemari
質問者

お礼

ありがとうございました!試してみたら、イメージどおりのオペレーションが出来ました。今後もよろしくお願いします。

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>数字以外の文字が入ったら、「型が一致しません。」のエラーでストップしてしまいます。 この部分はどのようなプログラムになっているのですか? 「On Error Resume Next」の一行で、これを記入した行以降の実行時エラーを飛ばす事が可能ですが、プログラムの内容によってはこれでエラーを解決した事にはなりません。 また、それ以降のエラーも判別出来なくなるので、「On Error Goto 0」でエラー処理するように戻す必要も有ります。 入力内容が文字でも数字もOKなら、そのようなプログラムに修正する必要があると思います。

komusemari
質問者

お礼

回答ありがとうございます。今回は非常に簡単なプログラムだったため、そこまで区別する必要はありませんでした。今後複雑なプログラムを作成するときに参考にさせて頂きます。貴重なご意見、ありがとうございました。

関連するQ&A