誰かが次のコードを手伝ってください。次の行でエラーが発生します。
Set range = "C5:L14"
これは完全なコードです:
Private Sub Worksheet_Change(ByVal Target As Excel.range)
Dim ws As Worksheet
Dim range As Worksheet
Set ws = Application.ActiveSheet
Set range = "C5:L14"
If Not Application.Intersect(Target, range("C5:L14")) Is Nothing Then
If range("C5:L14").Value = "" Then Exit Sub
If range("C5:L14").Date = "< today()" Then Exit Sub
If range("C5:L14").Date = "> today()" Then MsgBox ("Future dates not allowed!")
Else
MsgBox ("Please enter date as follows yyyy-mm")
End If
End Sub
日付は、セルで「2013 Jan」にフォーマットされています。将来の日付は許可されておらず、ユーザーは日付を「2013-01」としてのみ入力する必要があります。フォーマットはそれを正しく変更する必要があります。「2013 Jan」と入力すると、条件付き書式はそれを取得しません。DATA VALIDATION を試してみましたが、1 つしかありません。
指定されたセルにユーザーが間違った日付を入力しないようにするマクロが必要です。