作者foolkids (翼をください)
看板Office
標題[問題] 錄製的巨集無法使用?
時間Thu Jul 18 10:13:05 2013
軟體:Excel
版本:2010
在工作表上實際寫了一些大型的公式 在表上可以正常計算
但卻發現好像到某個長度之後 錄製出來的巨集就無法執行
以下為例子:
表上的公式(陣列函數)
{=SUM(INDIRECT("測試!A"&COUNTA(測試!A:A)&":"&"B"&COUNTA(測試!B:B)))*
SUM(INDIRECT("測試!A"&COUNTA(測試!A:A)&":"&"B"&COUNTA(測試!B:B)))*
SUM(INDIRECT("測試!A"&COUNTA(測試!A:A)&":"&"B"&COUNTA(測試!B:B)))*
SUM(INDIRECT("測試!A"&COUNTA(測試!A:A)&":"&"B"&COUNTA(測試!B:B)))}
當然,
這是為了測試的例子,本身公式沒有任何意義
實際錄製時 VBA會錄製出:
Selection.FormulaArray = _
"=SUM(INDIRECT(""測試!A""&COUNTA(測試!C)&"":""&""B""&COUNTA(測試!C[1])))*
SUM(INDIRECT(""測試!A""&COUNTA(測試!C)&"":""&""B""&COUNTA(測試!C[1])))*
SUM(INDIRECT(""測試!A""&COUNTA(測試!C)&"":""&""B""&COUNTA(測試!C[1])))*
SUM(INDIRECT(""測試!A""&COUNTA(測試!C)&"":""&""B""&COUNTA(測試!C[1])))"
在相乘二到四次時,錄製出來的巨集都可以執行;
但是到了
相乘五次時,跑巨集會跳出錯誤訊息
錯誤訊息為:
無法執行階段錯誤 '1004':
無法設定種類 Range 的 FormulaArray 屬性
請問這樣除了縮短公式之外,會有解決的方式嗎? 先謝謝各位
--
┌─────────────────────────────┐
│
就這樣,終於到了啟程的日子。 │
│
和來機場送行的朋友們說著玩笑話,其實內心恍恍惚惚像在作夢。│
│
也似乎是因為,為了走到「出發」這一步,耗盡了全部心力。 │
└─────────────────
石田裕輔《不去會死!》─┘
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.22.223.4
→ bulldog:VBA應該沒有陣列方法,請用矩陣乘法處理... 07/18 22:49
先謝謝答覆,因為我一直找不到陣列乘法的範例 不曉得能不能稍微說明一下或是
有網站連結嗎? (我VBA都是看內建說明文件跟網路自學 @_@)
※ 編輯: foolkids 來自: 211.22.223.4 (07/19 09:00)
→ bulldog:我也是XD, 矩陣乘法的話用MMult, 或者寫迴圈去處理吧 07/19 13:22