作者simon552614 (阿翔)
看板Office
標題[算表] VBA的矩陣輸出(入)
時間Thu Mar 14 22:40:38 2019
軟體: Excel
版本:2010
為方便說明,Option base 1
假設矩陣A(100*100),儲存格資料也有100*100
可以用A=range(...)很快放進去
Q1:
那今天只想把資料range("E5:G10")放進去A的某個中間區塊,該怎麼寫呢?
除了for迴圈有更快的方法嗎?
因為以前用過Matlab,就有A(8:13,7:9)=資料,這樣的方法
Q2:
跟上面相反過來,在VBA裡面已經有計算完的A矩陣,
該怎麼把A的8~13列7~9欄,顯示在儲存格,同樣想用避開for迴圈的方法
目前Q2只試出用range(...)=worksheetFunction.Index(A,列數,0)
可是這樣整列都會輸出,不是我想要的結果
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.134.116
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1552574445.A.0EF.html
1F:→ soyoso: 問題2,application.index(A,[row(8:13)],[column(g:i)]) 03/14 23:07
2F:→ soyoso: 問題1,如不要迴圈的話,range=A,range=range("e5:g10"). 03/14 23:58
3F:→ soyoso: value,最後A=range 03/14 23:58
4F:→ simon552614: Q2解決了,但Q1好像只能放在A矩陣左上角嗎!? 03/16 23:18
5F:→ simon552614: Dim A#(5,5),想用Q2的想法對調等號↓↓ 03/16 23:20
6F:→ simon552614: A([row(2:4)], [column(2:4)]) = Range("F3:H5") 03/16 23:21
7F:→ simon552614: 可解否? 03/16 23:24
8F:→ soyoso: 只能放左上角?什麼意思? 03/17 01:07
9F:→ soyoso: Q1以Q2方面並無查到,不確定是否也可以該方式達成 03/17 01:08
10F:→ simon552614: 請問上面row(8:13)想用row(i,j)會報錯,該怎麼改呢? 03/19 01:21
11F:→ soyoso: 以evaluate 03/19 07:25