標題:
請問二維陣列取局部資料方法
[打印本頁]
作者:
mlbolerud
時間:
2019-10-22 12:57
標題:
請問二維陣列取局部資料方法
各位大大
小弟我有個二維陣列取局部資料的問題 , 想請教各位高手
我的二維陣列 myarray 是從 myarray(1,1) ~ myarray(10,10)
我要把陣列部份資料寫入儲存格 , myarray(5,5) ~ myarray(7,7) 寫入Cells(5, 10) ~ Cells(7, 12)
整個array寫入儲存格 或是 單一位置寫入儲存格方式可以
.Cells(5, 10).Resize( 10 , 10) = myarray ......... 整個array 寫入 , 正確
.Cells(8, 5) = myarray(5, 5) ......... 單一位置寫入 , 正確
但是下面這種寫法會出現錯誤
.Cells(5, 10).Resize(3, 3) = Range(myarray(2, 2), myarray(4, 4)) ......... 錯誤
除了寫個迴圈方式外, 有沒有比較簡單的方式?
感謝分享 ~
作者:
JasnH
時間:
2019-10-22 15:37
試試:
.Cells(5, 10).Resize(3, 3)= Application.Index(myarray, [row(2:4)], [transpose(row(2:4))])
作者:
mlbolerud
時間:
2019-10-22 21:30
感謝JasnH大大的指導
我試過了, 沒有問題, 比起我原先用的for迴圈方式簡潔多了
for i = 1 to 3
for j = 1 to 3
cells(4+j , 9+i) = myarray(2+j, 2 + i)
next
next
只是我試過把
[transpose(row(2:4))] 改成 [column(2:4)] , 為何跑出來結果會不一樣呢?
.Cells(5, 10).Resize(3, 3)= Application.Index(myarray, [row(2:4)], [column(2:4)])
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)