| 
    
     |  | ↑ 日付のMatch検索で
 Date型の変数 myDate に セルのValueを代入し
 Match検索でそれを整数に直して↓検索していますが、
 >  m = Application.Match(CLng(myDate), rngLookUp, 0)
 
 セルのValueプロパティでなく、セルのValue2プロパティを使えば
 直接MATCHの検索値に日付(数値)を指定できます。
 以下、一部変数の宣言忘れがありましたので
 それを付け加えたプロシージャコードです。
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim LastR as long
 Dim myTarget As Range
 Dim 指定Day As Long, 基準Day As Long
 
 LastR = Range("A" & Rows.Count).End(xlUp).Row
 Set myTarget = Intersect(Range("K2").Resize(LastR - 1), Target) 'K列範囲
 If myTarget Is Nothing Then Exit Sub
 
 Application.EnableEvents = False
 
 Dim rngLookUp As Range, c As range
 Dim m As Variant
 With Sheets("MDay") '検索先範囲
 Set rngLookUp = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
 End With
 For Each c In myTarget
 c(1, 2).ClearContents      'L列をクリア
 m = Application.Match(c.Value2, rngLookUp, 0)
 If IsNumeric(m) Then
 指定Day = rngLookUp.Item(m, 2).Value
 m = Application.Match(c.Offset(, -4).Value2, rngLookUp, 0)
 If IsNumeric(m) Then
 基準Day = rngLookUp.Item(m, 2).Value
 c(1, 2).Value = 指定Day - 基準Day - 10 'L列
 End If
 End If
 Next
 
 Application.EnableEvents = True
 
 End Sub
 
 
 |  |