我有以下代码
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]
任何帮助?
我有以下代码
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]
任何帮助?
以下代码可以正常工作。
也许您应该将其与您的进行比较:
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 中。
已排序,谢谢大家的帮助
DepRng.Cells(i, j) = Application.Sum(KidsRng.Rows(i)) //just needed to add the "s" in rows
可能有比这更好的方法,但这是我的解决方案,它依赖于内部 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 的工作表/书中,则更新它以使其工作