2013-02-01 72 views
2

我在我的程序下面的代碼建立了一個更大的循環中application.worksheetfunction.sum沒有評估串

CalculationHoldArray(Loopcount) = "'[" & Usefile1.Name & "]" & _ 
       Worksheet1 & "'!" & Cells1  & ",'[" & Usefile2.Name & "]" & _ 
       Worksheet2 & "'!" & Cells2 

Sheets("ECAP PARAMETER INPUTS").Cells(31, "F").Value = 
Application.WorksheetFunction.Sum(CalculationHoldArray(Loopcount)) 

的字符串返回數組進行評價是:

'[Control Model v1.35- nonfunctional.xlsm]Input'!E2, _ 
     '[Control Model v1.35- nonfunctional.xlsm]Input'!E3 

但是,application.worksheetfunction.sum返回錯誤1004.「無法獲取工作表類的總和屬性」。任何人都知道問題在於它不會讓我在這裏使用總和屬性?

+0

'1.'你能告訴我們你在這段代碼中使用的變量的聲明嗎?例如'LoopCount'等等。''2.'爲什麼你想用這種方式設置書籍,圖表,單元格引用而不是使用'R1C1'公式或'範圍偏移量'? – bonCodigo

+0

Loopcount定義爲double,usefile1和usefile2作爲工作簿,worksheet1和worksheet2作爲字符串,cells1和cell2作爲字符串,calculationholdarray作爲15個字符串元素的數組。我爲什麼以這種方式設置?主要是因爲我已經擺脫了15年的編程時間,從銀行中解脫出來,現在我正在進行一些合同工作,以便嘗試和維持生計。僅僅使用我以前做過的方式,並從未學會如何正確使用R1C1 –

+0

查看您的單元格字符串,您將從同一工作簿獲取數據,同一工作表行'E2,E3'。但是你的變量顯示'UserFile1'和'UserFile2' - >兩個文件。那麼你循環什麼來填充數組?兩個不同的文件或單個文件/工作簿? – bonCodigo

回答

0

但是我找到了一個解決方案 - 而不是使用application.worksheet.function命令,我可以簡單地使用「EVALUATE」命令,只需在「sum」和括號內添加一個完整的公式即可 -

0

而不是使用Application.Worksheet.Function命令,只需使用Evaluate命令,該命令需要添加「sum」和括號以使其成爲有效的公式。