VBAで
・セルに設定された値を使用する
ことはよくあります!
セルに設定された値が不正だと困るため、
・VBAでメインな処理を実行する前に
・セルの入力チェックをする
ことは大切です!
※セルの値の不正による想定外なエラーの発生を防止するため。
ここでは
・「あるある」な入力チェック方法
を紹介します!
入力必須チェック
ここでは例として、
・シート「sample」のセル「B2」に
・値が設定されているか(=入力されているか)をチェック
します。
設定されていない(=入力されていない)場合は、処理を中断(=終了)します。
Sub sample()
'入力必須チェック
If Range("B2").Value = "" Then
MsgBox "セルに「B2」に値が設定されていません。" & vbCrLf & vbCrLf & _
"設定をお願いします。", _
vbOKOnly + vbCritical, "入力必須エラー"
Exit Sub
End If
'メインな処理
'・
'・
'・
'・
End Sub
シート「sample」のセル「B2」に値を設定していない状態で上記を実行すると、以下のエラーメッセージが表示されます。
数値チェック
値が数値かどうかをチェックする方法は、以下の記事をご確認ください。
数値が正か負か(マイナスかマイナスでないか)をチェックする方法は、以下の記事をご確認ください。
数値が偶数かどうか、奇数かどうかをチェックする方法は、以下の記事をご確認ください。
日付チェック
値が日付かどうかをチェックする方法は、以下の記事をご確認ください。
半角文字チェック
値が半角文字かどうかをチェックする方法は、以下の記事をご確認ください。
文字数チェック
値の文字数をチェックする方法は、以下の記事をご確認ください。
エラーチェック
エラーかどうかをチェックする方法は、以下の記事をご確認ください。
ファイル/フォルダ存在チェック
ファイル/フォルダの存在有無を確認(チェック)する方法は、以下の記事をご確認ください。
空フォルダチェック
空フォルダかどうかを確認(チェック)する方法は、以下の記事をご確認ください。
携帯の電話番号チェック
携帯の電話番号が正しく入力されているかどうかをチェックする方法は、以下の記事をご確認ください。
郵便番号チェック
郵便番号が正しく入力されているかどうかをチェックする方法は、以下の記事をご確認ください。
入力規則を利用したチェック
Excelが持つ機能である「入力規則」を使用することでも、入力チェックを実現できます。
「入力規則」により、そもそも「不正な値を入力不可」にできます。
※「入力された値が不正な値かどうかをチェックする」ではなく、「そもそも不正な値を入力不可にする」です。
詳細は以下の記事をご確認ください。
※下記は「VBAで入力規則を設定する方法」を紹介しています。
※VBAでなく手動で入力規則を設定しても、もちろん良いです。
●指定した間隔の数値のみ入力できるようにする
●指定した文字数のみ入力できるようにする
●日付のみ入力できるようにする
また入力してほしい値を「プルダウン」で羅列することで、同じく「不正な値を入力不可」にできます。
※「プルダウン」も「入力規則」で実現します。
詳細は以下の記事をご確認ください。
※下記は「VBAでプルダウンを設定する方法」を紹介しています。
※VBAでなく手動でプルダウンを設定しても、もちろん良いです。
参考①
Excelが持つ機能である「条件付き書式」を使用することで、入力ミスが起きていることを分かりやすく伝えることができます。
例えば「値が未設定のセル」の場合、「条件付き書式」によりその旨を伝えることができます。
詳細は以下の記事をご確認ください。
※下記は「VBAで条件付き書式を設定する方法」を紹介しています。
※VBAでなく手動で条件付き書式を設定しても、もちろん良いです。
参考②
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●Exitステートメント
●Dir関数
●改行(vbCrLf等の定数)