我有以下代码

 For i = 1 To DepRng.Rows.Count
    For j = 1 To DepRng.Columns.Count
         DepRng.Cells(i, j) = Application.Sum(KidsRng.Row(i)) //Does not work
    Next j
 Next i

虽然我知道错了,我不知道如何得到它在DepRng.Cells(i, j)存储整个KidsRng.Row[i]的总和任何帮助吗?

有帮助吗?

解决方案 2

排序,感谢所有对你有所帮助。

   DepRng.Cells(i, j) = Application.Sum(KidsRng.Rows(i)) //just needed to add the "s" in rows

其他提示

下面的代码工作正常。

也许你应该把它与你比较:

Sub a()

Dim DepRng As Range
Dim kidsrng As Range
Set DepRng = Range("B1:B2")
Set kidsrng = Range("C1:F2")

 For i = 1 To DepRng.Rows.Count
      DepRng.Cells(i, 1) = Application.Sum(kidsrng.Rows(i))
 Next i

End Sub

正好填满范围C1:F2用数字和每行总计将出现在B1:在所述宏的执行B2

有可能会比这更好的方式,但是这是我的解决方案,它依赖于内部Excel公式引擎,虽然,它可能就足够了足够你在做什么......它决定KidsRng.Row的详细地址(i)中,并将其馈送到一个= SUM()公式字符串和由Application.Evaluate评价。

For i = 1 To DepRng.Rows.Count
    For j = 1 To DepRng.Columns.Count

        DepRng.Cells(i, j).Value = Application.Evaluate("=SUM(" & KidsRng.Row(i).Address(True, True, xlA1, True) & ")")

    Next j
 Next i

它更新为工作,如果kidsrng在不同的片材/书存在 更新为使用Application.Evaluate

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top