[英]VBA - Using Columns() in Formula
现在我正在将此代码用于SumIf公式:
Public Sub CommandButton1_Click()
Dim lastrow As Long
lastrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row + 1
i = 4
calc = "=SUM(SUMIF($A$2:$A$22,N3,$B$2:$B$22),"
Do Until i = lastrow + 1
calc = calc & "SUMIF($A$2:$A$22,N" & i & ",$B$2:$B$22),"
i = i + 1
Loop
ActiveSheet.Range("N" & lastrow + 1 & ":BI" & lastrow + 1).Value = calc & ")"
End Sub
我现在的问题是,有没有一种方法可以更改calc = calc&SUMIF($ A $ 2:$ A $ 22, N“ &i&”,$ B $ 2:$ B $ 22)的条件部分,从N列跳到M列,直到BI列?
实际上,我的代码工作正常,但是如果我在表中移动了一些单元格,它也会移动公式。 如果我添加$符号,它仅使用列N。
我试图添加它,但是没有用
i = 4
lCol = 14
calc = "=SUM(SUMIF($A$2:$A$22,N3,$B$2:$B$22),"
Do Until i = lastrow + 1
calc = calc & "SUMIF($A$2:$A$22," & Columns(i, lCol) & ",$B$2:$B$22),"
i = i + 1
lCol = lCol + 1
Loop
我希望我的意思很清楚,有人可以帮助我。
尝试创建一个单元并使用其地址。
calc = calc & "SUMIF($A$2:$A$22," & Cells(i, lCol).address(0, 0) & ",$B$2:$B$22),"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.