2016-11-04 166 views
0

我需要在众多单元格中插入一个数组公式,然后求和一个范围内的单元格。然而,范围并不总是相同的,因此,我将不得不从变量中获取定义范围的行数。这似乎并不工作:插入数组公式在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 

但求和公式代码给出“预期声明的末尾”。请帮忙。

+0

我基本需要的是如何在ArrayFormula代码中使用行号变量。 – Swopnil

+0

尝试更换“与charatcers'的内轮的位:' ”=总和(圆( 'I' &升& ':' & 'I' &M,2))“' – maxhob17

+0

@dani这是一个数组式自便将在每个之后才是范围和细胞的值,它总结起来,等价于CSE在Excel中。 – Swopnil

回答

0

你需要理清你的字符串是什么如何构成的,即应该从字面上出现什么。试试这个

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

谢谢@SJR,它的工作。 – Swopnil