|
必ず日付が昇順ソートされている、という前提ならば
Sub Test1()
Dim MyR As Range
Dim Xdy As Long
With Sheets("Sheet1")
Set MyR = .Range("C65536").End(xlUp)
Xdy = WorksheetFunction _
.Match(CLng(MyR.Value), .Range("$C:$C"), 0)
.Range(.Cells(Xdy, 1), MyR.Offset(, -2)) _
.Copy Sheets("Sheet2").Range("V6")
End With
Set MyR = Nothing
Application.Goto Sheets("Sheet2").Range("V1"), True
End Sub
というようなコードでも出来ますが、私ならたぶん、以下のように数式で判定・処理
する方法を選ぶでしょうね。
Sub Test2()
Dim Ad As String
With Sheets("Sheet1") _
.Range("C1", Sheets("Sheet1").Range("C65536").End(xlUp))
Ad = .Address
With .Offset(, 253)
.Formula = "=IF(RANK($C1," & Ad & ",0)=1,1)"
.SpecialCells(3, 1).Offset(, -255) _
.Copy Sheets("Sheet2").Range("V6")
.ClearContents
End With
End With
Application.Goto Sheets("Sheet2").Range("V1"), True
End Sub
|
|