我想通過VBA編寫一個數組公式,但得到一個錯誤「無法設置範圍類的FormulaArray屬性」。我已經嘗試了'Range.FormulaArray'和'.Range.selection.FormulaArray',但沒有任何工作。感謝您幫助我。通過VBA陣列公式
Worksheets("sheet1").Range("Table2[[" & Me.cboSec.value & " Row Score Max]]").FormulaArray = formulae
我想通過VBA編寫一個數組公式,但得到一個錯誤「無法設置範圍類的FormulaArray屬性」。我已經嘗試了'Range.FormulaArray'和'.Range.selection.FormulaArray',但沒有任何工作。感謝您幫助我。通過VBA陣列公式
Worksheets("sheet1").Range("Table2[[" & Me.cboSec.value & " Row Score Max]]").FormulaArray = formulae
這個最小片段適用於我:
Worksheets("sheet1").Range("A1:B4").FormulaArray = "=AVERAGE(C1:C5)"
這將具有從A1細胞至B4表示的數字的在小區C1的平均到C5,並且被結合到式陣列。
但問題提到了對錶格的結構化引用。正如羅裏提到的,在表格中沒有公式數組可能。如果您嘗試通過<CTRL><SHIFT><ENTER>
手動將數組插入表中,則可以深入研究,這是通常的非編程方式。 Excel回答如下:「表格中不允許使用多單元格數組公式。」
但爲了至少填補了一組相同的公式的表格單元,這個最小片段爲我的作品:
Worksheets("sheet1").ListObjects("Table2").DataBodyRange.Formula = "=SUM($F$1:$G$1)"
或
Worksheets("sheet1").ListObjects("Table2").DataBodyRange.Cells.Formula = "=SUM($F$1:$G$1)"
這是一個更令人振奮提示:http://www.myonlinetraininghub.com/excel-2007-tables
對於表格,記錄宏將無助於記錄必要的最低複雜描述。
。Range(「TableauCalcs [[」&Me.cboSectors.value&「Row Score Max]]」)似乎導致了我猜測的錯誤。這是我的一個表列的標題名稱,我想在此列中插入數組公式。 – Malick
嗯......你是什麼意思的「標題名稱」?在Excel和「常用」範圍中有指定的範圍。這兩種語法都是用這個語法來解決的:a)'Sheet1.Range(「A1:B5」)' - > range,b)'Sheet1.Range(「A:A」)' - > full column,c)'Sheet1.Range (「MyNamedRange」)' - >我給了名字「MyNamedRange」的單元格。那麼標題名稱是什麼? –
Annnnnnnd ...我從來沒有見過帶括號的符號。如果我應該從一個範圍中分離一個表格,我使用感嘆號:'Sheet1.Range(「TheOtherSheet!A1:B7」)'。括號符號是什麼? –
公式有多長?如果它超過255個字符,你會得到這個錯誤。 – Rory
它確實是'sheet1'還是它是'Sheet1'? – tannman357
@Rory,公式少於255個字符。 – Malick