[VBA ] 用陣列代替 Range

看板Visual_Basic作者 (神之左手魔之右手)時間10年前 (2014/11/18 23:20), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
請教關於陣列代替 Range如下: dim arr() as Variant '(1) 可將儲存格的值放入陣列arr內 arr=Range("A1:E400") '(2) 可將陣列內的值放入儲存格內 Range("A1:E400")=arr 如果有多欄且包含不相鄰 (列數相同) 的儲存格 可如 (1) 方法,放入 arr 內嗎? 或如 (2) 方法,放入指定(包含不相欄)的欄內嗎? --------------------------------------- 關於 (1) 有想過使用如下,但只能寫入 Range("A1:A400") 的值到 arr Set r1 = Range("A1:A400") Set r2 = Range("D1:D400") Set myMultiAreaRange = Union(r1, r2) arr=myMultiAreaRange.Value --------------------------------------- 請教程式該如何作修改,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.2.102 ※ 文章網址: http://www.ptt.cc/bbs/Visual_Basic/M.1416324020.A.F42.html

11/19 07:06, , 1F
for r=r0 to r1 : for c=c0 to c1
11/19 07:06, 1F

11/19 07:07, , 2F
cells(r, c) = arr(r*p+m, c*q+n): next
11/19 07:07, 2F

11/19 07:07, , 3F
逐格抄過去。
11/19 07:07, 3F

11/20 00:59, , 4F
謝謝回覆。儲存格或陣列要一列一列或一欄一欄的貼到
11/20 00:59, 4F

11/20 01:01, , 5F
陣列或儲存格,沒有這樣的用法,只能逐格抄過去嗎?
11/20 01:01, 5F
文章代碼(AID): #1KQsEqz2 (Visual_Basic)
文章代碼(AID): #1KQsEqz2 (Visual_Basic)