gpt4 book ai didi

VBA SUM 函数计算第 n 行中的多个值

转载 作者:行者123 更新时间:2023-12-02 17:22:52 25 4
gpt4 key购买 nike

我想问一下,当它们之间相隔30行时,如何快速求和?我想对 9 个值求和,然后按照下面的代码将结果输入到不同的列中:

Sub sum()
Range("EG12").Formula = "=Sum(C12,C282, C552, C822,C1092,C1362,C1632,C1902,C2172,C2442)"
Range("EG42").Formula = "=Sum(C42,C312,C582, C852,C1122,C1392,C1662,C1932,C2202,C2472)"
Range("EG72").Formula = "=Sum(C72,C342,C612, C882,C1152,C1422,C1692,C1962,C2232,C2502)"
Range("EG102").Formula = "=Sum(C102,C372,C642,C912,C1182,C1452,C1722,C1992,C2262,C2532)"
End Sub

您可能已经注意到,每个目标单元格彼此之间恰好 30 行(内部行为空或包含不同的值)同样复制的单元格,位于正好 270 行 彼此之间(参见附图)。

enter image description here

我试图做这样的公式:

Sub sum2()
Dim lastrow As Long, i As Integer, total As Double, finalsum As Double
lastrow = Range("C2442").End(xlUp).Row

For i = 30 To lastrow
total = total + WorksheetFunction.sum(Range("C12" & i & "EG12" & i))
Next
finalsum = total

End Sub

...但我得到“object2_Global 的方法 2Range 失败。

有人对此有一些想法吗?

感谢和问候,

最佳答案

我并没有把 170 的金额说得那么漂亮,但你应该这样理解这一点:

Sub test2()

Dim lastrow As Long, i As Long, finalsum As Long
lastrow = Range("C2442").End(xlUp).Row

finalsum = 0

For i = 12 To lastrow Step 30
Range("E" & i).Value = WorksheetFunction.Sum(Cells(i, 3).Value, Cells(i + 170, 3).Value, Cells(i + 2 * 170, 3).Value, Cells(i + 3 * 170, 3).Value, Cells(i + 4 * 170, 3).Value, Cells(i + 5 * 170, 3).Value, Cells(i + 6 * 170, 3).Value, Cells(i + 7 * 170, 3).Value, Cells(i + 8 * 170, 3).Value, Cells(i + 9 * 170, 3).Value)
finalsum = finalsum + Range("E" & i).Value
Next i


End Sub

关于VBA SUM 函数计算第 n 行中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51893094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com