返回列表 上一主題 發帖

[發問] 陣列的值放置到excel的問題

[發問] 陣列的值放置到excel的問題

RNG=[A5].CURRENTREGION'假設UBOUND(RNG)=20 ,UBOUND(RNG,2)=10
Q1 : [A1].Resize(20, 10).Value =RNG'我覺得這是將陣列資料放在excel非常快的方式,不曉得還有更快的嬤?
Q2 : 如果RNG這個陣列,我希望它由RNG(2 TO 16,3 TO 5) 放到 [A1].Resize(15, 3).Value這裡面該如何做?因為目前Q1程式碼無法達成這種放置方式
PS:有沒有答案不是迴圈的.CELLS(x,x)=RNG(X,X)的方式
PKKO

回復 1# PKKO
試試看
  1. Option Explicit
  2. Sub EX()
  3.     Dim Rng()
  4.     With Range("D1").CurrentRegion
  5.         Rng = .Cells(2, 3).Resize(15, 3).Value
  6.     End With
  7.     [A1].Resize(15, 3) = Rng
  8. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 lpk187 於 2015-6-21 16:22 編輯

回復 2# GBKEE


   我想PKKO大大的意思是有個Rng(1 to 20,1 to 10)的陣列
但他只取RNG(2 TO 16,3 TO 5)範圍的值,可有辦法不用任何迴圈
就可以直接取出的意思

TOP

回復 3# lpk187
只取RNG(2 TO 16,3 TO 5),可有辦法不用for...next

這不是不用迴圈?
  1. With Range("D1").CurrentRegion
  2.        Rng = .Cells(2, 3).Resize(15, 3).Value
  3.     End With
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 lpk187 於 2015-6-21 16:34 編輯

回復 4# GBKEE


  PKKO的意思是Rng(1 to 20,1 to 10)已經有值了,不是再去取
With Range("D1").CurrentRegion
       Rng = .Cells(2, 3).Resize(15, 3).Value
    End With
的值,而他只想把RNG(2 TO 16,3 TO 5)範圍的值取出

TOP

回復 5# lpk187
樓主不是說,可有辦法不用for...next
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# GBKEE


    抱歉,是我沒說清楚,舉例的不太洽當

超版大大您的方式也很好
但假設我的陣列並不是由excel所產生的
而是我自己給他的
DIM AA(1 TO 10,1 TO 5)
然後將運算過的值都輸入到陣列內之後

有沒有甚麼方式可以不透過迴圈
直接將陣列中某一段的資料放置到excel內
平常都是直接使用[A1].RESIZE(1 TO 10,1 TO 5).VALUE=AA
可是如果我要的只是AA裡面的(3 TO 10, 3 TO 5)
這樣要如何一次放到excel內?
有辦法類似[A1].RESIZE(1 TO 10,1 TO 5).VALUE=AA這種的方式嗎?
PKKO

TOP

本帖最後由 mpegwmvavi 於 2015-6-21 23:44 編輯

回復 7# PKKO


我想不到一次性置入的方法,
不過一條一條(直或橫)放進去是做得到的
方法是用Index這個工作表函數
不過還是要迴圈三次,儘管如此,比迴圈m*n次要快得多了

For j=3 to 5
    Cells(1,j-2).Resize(10-3,1)=Application.Index(AA,0,j)
Next

參考網站:
https://usefulgyaan.wordpress.com/2013/06/12/vba-trick-of-the-week-slicing-an-array-without-loop-application-index/
MPEG

TOP

回復 8# mpegwmvavi
一篇不錯的論述,謝謝你的堤供!

TOP

回復 8# mpegwmvavi


    沒想到還有這種方法,真是太感謝了!
PKKO

TOP

        靜思自在 : 虛空有盡.我願無窮,發願容易行願難。
返回列表 上一主題