| 
    
     |  | ▼VBA超初心者 さん: 私もかな〜りの超超初心者ですが・・・VBA超初心者さんに比べても・・
 早速試してみました!! やりたい事がこれでできました^^
 本当にどうもありがとうござました^^
 
 >日付の大小比較だけでよければ、下記のコードで可能かと思います。
 >
 >>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
 
 
 |  |