2016-11-04 164 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