[爆卦]VBA 陣列運算是什麼?優點缺點精華區懶人包

為什麼這篇VBA 陣列運算鄉民發文收入到精華區:因為在VBA 陣列運算這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者simon552614 (阿翔)看板Office標題[算表]矩陣vba四則運算時間Sat Mar...


軟體:Excel

版本:2007

經過儲存格計算,假設sheet會有結果在A1:J10(實際大很多)

在vba裡面我用Z1=range("A1:J10")放進去矩陣

第二次計算,會再出現另一個結果在A1:J10

同理Z2=range("A1:J10")...Z3.Z4...

現在我想在vba裡面做Z1和Z2的線性組合

例如:6*Z1+2*Z2

請問有矩陣元素大量同時四則運算的方法嗎?

在sheet是可以做,但不想用sheet來當作矩陣的暫存地方
--------------------------------------------------------------
更新:今天想了一下把資料全部存起來變Z1.Z2...太耗記憶體
所以想變成以下,用程式表達一下,當然打在vba一定是報錯

Z, C_i is array, and C_0=0
for i=1 to 30
Z = sheet1.range("A1:J10")
C_i = C_(i-1) + i* Z
next i

一直覺得vba應該可以做到矩陣對純量的直接計算,始終查不到

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.11.250 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1584802225.A.5FC.html
soyoso: 如不以工作表內的儲存格暫存的話,想到的是設個二維陣列變 03/22 08:21
soyoso: 數,巢狀迴圈取出z1和z2的值,運算後寫入所設的陣列變數內 03/22 08:21
soyoso: 如不要迴圈的話,變數=evaluate("index(6*a1:j10+2*a1:j10 03/22 08:48
soyoso: ,)") 03/22 08:48
soyoso: 或是變數=evaluate("6*a1:j10+2*a1:j10") 03/22 08:53
simon552614: 謝謝s大,雖然看起來不是想要的結果 03/22 22:21
simon552614: 但另外想請教,上面的2和6如果想抓某個儲存格 03/22 22:22
simon552614: 該怎麼寫?evaluate裡面好像只能放定值 03/22 22:23
soyoso: 並非只能放定值,就是以字串連結方式range(..) & "*a1:j10 03/22 22:27
soyoso: "... 03/22 22:27
soyoso: 另外覺得不是想要的結果方面就提出有哪方面不符合的,才能 03/22 22:37
soyoso: 看是否有其他方式 03/22 22:37
※ 編輯: simon552614 (36.225.183.2 臺灣), 03/23/2020 21:11:59
simon552614: 更新內文,請s大或大家指教 03/23 21:15

你可能也想看看

搜尋相關網站