使用VBA向下填充公式以设置起始单元格动态


lastRow44 = Cells(Rows.Count, "A").End(xlUp).Row
LastRow3 = Worksheets("Temp").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row
Range("A" & LastRow3).End(xlDown).Offset(0, 11).Formula = "=Sum(M50:M" & lastRow44 & ")"

我正在尝试修改 vba 代码以使其更具动态性。我想将总和计算设置为更动态。所以我正在尝试类似Range("A" & LastRow3).End(xlDown).Offset(0, 11).Formula = "=Sum(("M" & LastRow3).End(xlDown).Offset(0, 11) & lastRow44 & ")"自动将起始单元格定义为 M50。但是,它不是我想要的。有没有办法修改代码以对起始单元格动态进行总和计算?

谢谢!

尝试更改

lastRow44 = Cells(Rows.Count, "A").End(xlUp).Row
LastRow3 = Worksheets("Temp").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row

lastRow44 = Sheets("Temp").Cells(Rows.Count, 1).End(xlUp).Row
LastRow3 = Worksheets("Temp").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

另外,我不确定您要完成什么

Range("A" & LastRow3).End(xlDown).Offset(0, 11).Formula = _
"=Sum(("M" & LastRow3).End(xlDown).Offset(0, 11) & lastRow44 & ")"

您的公式正在执行的操作是首先设置为您定义的最后一行,然后向下搜索(就像您按 CTRL + 向下箭头一样(。如果这不是您想要的,请尝试删除".END(xlDown(两者的一部分。

最后,如果您知道您正在使用偏移量 11,为什么不将其设置为使用"M"而不是 A,并且干脆不偏移?

这样的事情怎么样:

lastRow44 = Cells(Rows.Count, "A").End(xlUp).Row
For x = 50 To LastRow3
Range("A" & x).Formula = "=Sum(""M""" & x & "": M "" & lastRow44 & ")"
Next x

最新更新