公式数组中的VBA和循环
如果我已经为某些块定义了命名范围 – 比如说,名为Apple1,Apple2,Apple3,Apple4的2乘2块
我想要创build一个总计块是上面的总和(在Excel中,公式数组公式将是{Apple1 + Apple2 + Apple3 + Apple4})使用FormulaArray命令 – 我在我的思想过程的正确的路线下面?
For i = 1 to 2 range("Total").formulaarray = "=" & "Apple" & i next i
我不明白你为什么需要FormulaArray
这样的任务,但你可以使用这个:
Sub test() Dim i%, Apples$ For i = 1 To 4 Apples = Apples & "+SUM(Apple" & i & ")" Next i [Total].FormulaArray = "=" & Mid(Apples, 2, Len(Apples)) End Sub
经过我的实验,我发现FormulaArray
的行为更复杂。
sub test() dim i as long, Apples1 as variant, Apples2 as variant for i = 1 to 3 Apples1 = Apples1 & "Apple" & i & "+" Apples2 = Apples2 & "Apple" & i & "," next i range("total1").FormulaArray = "=sum(" & left(Apples1, len(Apples1)-1) & ")" range("total2").FormulaArray = "=sum(" & Apples2 & ")" range("total3").FormulaArray = "=" & left(Apples1, len(Apples1)-1) end sub
结果是
如果Apple1,Apple2或Apple3中的任何单元格都是string,则结果是