これが私のコードですが、少しずれていますが、動作はしますが、私が望む方法ではありません。
Option Explicit
Sub ONJL()
Dim lastrow As Long
Dim wsPAR As Worksheet 'PAERTO
Dim wsRD As Worksheet 'Raw Data
Dim wsTEM As Worksheet 'Archive
Set wsPAR = Sheets("PAERTO")
Set wsRD = Sheets("Raw Data")
Set wsTEM = Sheets("Template")
With wsPAR
Application.ScreenUpdating = False
wsPAR.Range("B23:I300").Clear
lastrow = wsRD.Range("B3").Row + 23
wsTEM.Range("A23:H23").Copy wsPAR.Range("B23:I" & lastrow)
.Range("F4").Formula = "=SUMPRODUCT(--(I23:I" & lastrow & ">='Raw Data'!K2),--(I23:I" & lastrow & "<='Raw Data'!K3))"
.Range("F5").Formula = "=SUMPRODUCT(--(I23:I" & lastrow & ">='Raw Data'!K3),--(I23:I" & lastrow & "<='Raw Data'!K4))"
.Range("F6").Formula = "=SUMPRODUCT(--(I23:I" & lastrow & ">='Raw Data'!K4),--(I23:I" & lastrow & "<='Raw Data'!K5))"
lastrow = wsRD.Range("E3").Row + 23
wsTEM.Range("I23:U23").Copy wsPAR.Range("M23:Y" & lastrow)
Application.ScreenUpdating = True
End With
End Sub
現在、B3は7で、E3は25です。
データが23から始まり、最後の行が等しいところで終了する必要があるため、+ 23と同じように入力すると、技術的にはI30とY48になるはずですが、そうではありません。
誰かが私に理由を教えてもらえますか?