![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
VBAで
・入力規則を設定して
・日付のみ入力可
にできます!
![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
入力できる値を制限することで、
誤入力を防止できます!
VBAコード
ここでは例として、シート「sample」のセルC列「入社日」に対し、日付のみ入力可にします。
![実行前](https://excel-vba.work/wp-content/uploads/2020/12/vba_validatedate_002.png)
Option Explicit
Sub sample()
With Worksheets("sample").Range("C3:C5").Validation
'既存の設定をクリア
.Delete
'日付のみ入力可にする
.Add Type:=xlValidateDate, _
Operator:=xlGreaterEqual, _
Formula1:="1900/1/1", _
AlertStyle:=xlValidAlertStop
'エラータイトル
.ErrorTitle = "入力エラー"
'エラーメッセージ
.ErrorMessage = "日付を入力してください。"
End With
End Sub
実行結果
シート「sample」のセルC列「入社日」に日付以外(=文字列)の入力を試みると、エラーとなり入力不可であることが確認できました。
![実行結果](https://excel-vba.work/wp-content/uploads/2020/12/vba_validatedate_001.png)
参考①
指定した間隔の数値のみ入力できるようにもできます。
詳細は以下の記事をご確認ください。
参考②
指定した文字数のみ入力できるようにもできます。
詳細は以下の記事をご確認ください。