• ベストアンサー

VBAでInputBoxの再入力をさせるには?

エクセルのVBAでInputBoxの間違えた入力をしてしまった時エラーが出てしまいます。 間違えた入力をした際、エラーではなく、再入力をさせるように促す処理をするにはどうしたらいいですか? 再入力システムにしたいのですが、できずに困っています。 わかる方がいましたら、教えていただけないでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

#1です。 Sub test01() p1: x = InputBox("数字を入力") If x = "" Then Exit Sub If Not IsNumeric(x) Then MsgBox "数字ではありません。再入力 " GoTo p1 End If If x > 10 Then '条件を書く MsgBox "10以下を入力 再入力" GoTo p1 End If MsgBox x '処理 End Sub

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

>再入力をさせるように促す処理をするにはどうしたらいいですか? 再入力よりも数値しか入力できない。 全角で数字を入力しても変換してくれると便利ですよね。 http://itpro.nikkeibp.co.jp/article/COLUMN/20070308/264274/ が参考になると思います。 inputBoxではなく Application.InputBox を使います。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

標準モジュールで Sub test01() p1: x = InputBox("数字を入力") If x > 10 Then '条件を書く MsgBox "10以下を入力" GoTo p1 End If MsgBox x '処理 End Sub のようなことか。 ーーー Goto文がイヤなら Sub test02() Do x = InputBox("数字を入力") Loop Until x <= 10 MsgBox x '確認 '処理 End Sub Gotoを使わないコードは(後者)は、ほかに色々ある。

saterain20
質問者

お礼

ありがとうございます。 integer型にstring型を入れた場合のエラーはどう訂正すればよいですか?

関連するQ&A