是否可以使用vba在相同列中插入2个不同的公式?我希望这些公式可以交替使用。我正在尝试做Sumif运算,但是总和范围在每第二行之后不断变化,因此我需要能够插入2个不同的公式。
因此,为了进一步解释这一点-在单元格A1中,我想使用一个sumif,并且求和范围是K列,但是A2必须对L列求和,然后A3必须回到K列,依此类推上。
我尝试使用vlookup使用,但没有唯一标识符。
我正在努力实现的目标吗?
答案 0 :(得分:2)
诀窍是在循环中使用Step 2
。
您当然需要调整循环范围,因为这只是一个通用示例。如果将其放到工作表代码空间中并运行,您会注意到在求和Column K
和Column L
Sub Alternate()
Dim i As Long
For i = 1 To 20 Step 2
Range("A" & i).Formula = "=Sum(K:K)"
Range("A" & i + 1).Formula = "=Sum(L:L)"
Next i
End Sub
另外,与上面的示例不同,请适当地限定对象!
答案 1 :(得分:2)
您还可以使用ROW函数在Excel中执行此操作:
=IF(MOD(ROW(),2)<>0,SUM(K:K),SUM(L:L))
答案 2 :(得分:1)
无循环:
Sub FFF()
[A1].Formula = "=SUM(K:K)"
[A2].Formula = "=SUM(L:L)"
[A1:A2].AutoFill [A1:A20]
End Sub
答案 3 :(得分:0)
对于这样的需求,WorksheetFunction属性也非常有用。所有计算都在VBA中进行,而不是在工作表本身上进行。
Sub Alternate()
Dim i As Long
For i = 1 To 20 Step 2
Range("A" & i) = WorksheetFunction.SumIf(Range("J:J"), criteria, Range("K:K"))
Range("A" & i + 1) = WorksheetFunction.SumIf(Range("J:J"), criteria, Range("L:L"))
Next i
End Sub
......其中的“条件”类似于“> 10”或“ whateverString”