将数组公式插入到excel vba中具有可变行的单元格范围的总和中

时间:2016-11-04 09:37:38

标签: excel vba excel-vba

我需要在第一轮的众多单元格中插入一个数组公式,然后对一个范围内的单元格求和。但是,范围并不总是相同的,因此,我必须从变量中提取定义范围的行号。这似乎不起作用:

Set ssheet = ThisWorkbook.Sheets("1 to 50")    
With ssheet.Range(Cells(1, 8), Cells(3200, 8))
Set x = .Find("Rate", LookIn:=xlValues, Lookat:=xlWhole)
tworow = x.Row
Set y = .Find("Total=", LookIn:=xlValues, Lookat:=xlWhole)
nextrow = y.Row
End With
l = tworow + 1
m = nextrow - 1
ssheet.Cells(nextrow, 9).FormulaArray = "=sum(round("I" & l & ":" & "I" &m,2))"
End sub

我可以选择所需的范围:

myrange = "I" & l & ":" & "I" & m
Range(myrange).Select

但总和公式的代码给出了“预期的陈述结束”。请帮忙。

1 个答案:

答案 0 :(得分:0)

你需要弄清楚你的字符串是如何构成的,即字面意思应该是什么。试试这个

ssheet.Cells(nextrow, 9).FormulaArray = "=sum(round(I" & l & ":I" & m & ",2))"