如何使SumIf函数一直运行到VBA代码中数据的最后一个范围



这是我的SumIf公式

=SUMIF($C$26:$C$43,$C$6,D26:D43(

C6是固定的,所以我锁定它,这样如果我拖动它,细胞就不会运行

问题是的范围和总范围

范围(C26(的起始行列和总和范围(D26(总是相同的,但对于最后一行却不同,因为我的数据量并不总是相同(有时直到100,有时更少(

如何更改SumIf的VBA公式以完全匹配相同数量的数据?

这是我的SumIf VBA代码(从记录中得到(

"=SUMIF(R26C3:R43C3,R6C3,R[20]C:R[37]C)"

请尝试下一种方法。代码必须确定C:C中的最后一个单元格,然后使用它。这样做的可能性更大。正如下面的代码所做的,或者直接在字符串公式中使用,替换(现有的(43("=SUMIF($C$26:$C$" & lastR ...:

Sub formulaUntilLast()
Dim lastR As Long, rngC As Range, RngD As Range, strFormula As String
lastR = ActiveSheet.Range("C" & rows.count).End(xlUp).row
Set rngC = Range("C26:C" & lastR)
Set RngD = Range("D26:D" & lastR)
strFormula = "=SUMIF(" & rngC.Address & ",$C$6," & rngC.Address & ")"
Debug.Print strFormula
End Sub

最新更新