| 
    
     |  | 下記コードの範囲では通常の日付入力 たとえば"07/05/20"と入力した場合
 現時点では"07/02/21"と表示されてしまうのですが
 普通に手入力を実行した場合にその日付にすることは
 可能でしょうか?よろしくお願いします。
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim 各々のセル As Range
 
 If Intersect(Target, Range("B20:B350")) Is Nothing Then
 Exit Sub
 End If
 
 Application.EnableEvents = False
 
 'For Each を使ってIntersect(Target, Range("B20:B350"))の範囲内にあるセルを
 '1つ1つ処理する。
 For Each 各々のセル In Intersect(Target, Range("B20:B350"))
 If IsNumeric(各々のセル.Value2) And 各々のセル.Value2 <> "" Then
 If Day(Date) >= 23 Then
 各々のセル.Value = DateSerial(Year(Date), Month(Date) + 1, Day(各々のセル.Value2) + 1)
 Else
 各々のセル.Value = DateSerial(Year(Date), Month(Date), Day(各々のセル.Value2) + 1)
 End If
 End If
 Next
 
 Application.EnableEvents = True
 End Sub
 
 |  |