VBATips

InputBoxで数値以外を入力された場合、再入力を促す【continue】

InputBoxで数値以外を入力された場合、再入力を促したい

マクロの動きは、マニュアルがなくてもユーザーがわかるような導線の作りを心掛けたいです。
InputBoxで数字のみを入力させたいのに、ユーザーが数字以外を入力するケースがあります。
数字以外が入力されたら再度入力をやり直させるようにするなど、
不具合が発生しにくい作りにする必要があります。

InputBoxで数値以外を入力された場合、再入力を促すサンプルコード

'■インプットボックスに入力された値が数値以外なら再度入力、数値なら入力数値を返却
Public Function Call_InputBox_IsNumeric()
    Dim num As Variant
Contiune:
    num = InputBox("数値入力して下さい")
    If num = "" Then End    'キャンセルを押した場合はマクロ終了
    If IsNumeric(num) = False Then MsgBox "数値以外が入力されました。再度入力ください": GoTo Contiune

    Call_InputBox_IsNumeric = num
End Function

注意点

  • 上記はInputBox関数の場合です。
  • Application.InputBoxメソッドの場合、 引数に「Type:=1」で数値のみ入力です。
    ※数値以外のものを入力すると「数値が正しくありません」ポップアップが表示され、再入力必要。

関連記事

コメント

タイトルとURLをコピーしました