这是我的代码,它有点偏离,虽然它确实有效,但不是我想要的方式。
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 开始,并且应该在 lastrow 相等的地方结束,所以从技术上讲它应该是 I30 和 Y48,但事实并非如此。
有人可以告诉我为什么吗?