|
↑
日付の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
|
|