|
日付の大小比較だけでよければ、下記のコードで可能かと思います。
>Private Sub Worksheet_Change(ByVal Target As Range)
If Left$(Target.Value, 4) > Format(Date, "yyyy") Then
MsgBox "現在の年よりもおおきい"
GoTo 終了
ElseIf Left$(Target.Value, 4) & Mid$(Target.Value, 5, 2) > Format(Date, "yyyymm") Then
MsgBox "現在の年月よりもおおきい"
GoTo 終了
ElseIf DateSerial(Left$(Target.Value, 4), Mid$(Target.Value, 5, 2), Right$(Target.Value, 2)) >= Date Then
MsgBox "現在よりも過去のデータを入力してください。"
GoTo 終了
End If
> If DateSerial(Left$(Target.Value, 4), Mid$(Target.Value, 5, 2),_
> Right$(Target.Value, 2)) >= Date Then
> MsgBox "現在よりも過去のデータを入力してください。"
> GoTo 終了
> End If
>
> 終了:
> Application.EnableEvents = False
> Application.Undo
> Application.EnableEvents = True
> Target.Select
>End Sub
|
|