返回列表 上一主題 發帖

[發問] 組合多個數組

回復 1# storylai


    不知道你整體流程為何?
如果單純把3個陣列用一個陣列表示
   r1 = Range("D5:N18")
    r2 = Range("D35:N48")
    r3 = Range("D65:N83")
    r0=Array(r1,r2,r,3)
學海無涯_不恥下問

TOP

本帖最後由 Hsieh 於 2010-10-30 11:34 編輯

回復 3# storylai
以你的構思要將數個二維陣列合併成一個陣列
那麼此新的陣列可就成了三維陣列
那麼你要再寫入工作表時無法一次寫入
所以建議你將不同區域直接寫成一個二維陣列
在讀取時才會簡便
  1. Sub nn()
  2. Dim Ar(), Ay As Variant, Rng As Range, s%
  3. Set Rng = Union(Range("D5:N18"), Range("D35:N48"), Range("D65:N83"))
  4. For i = 1 To Rng.Areas.Count
  5.    For j = 1 To Rng.Areas(i).Rows.Count
  6.      ReDim Preserve Ar(s)
  7.      Ar(s) = Rng.Areas(i).Rows(j)
  8.      s = s + 1
  9.    Next
  10. Next
  11. Ay = Application.Transpose(Application.Transpose(Ar))
  12. Sheet2.[A1].Resize(UBound(Ay, 1), UBound(Ay, 2)) = Ay
  13. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 愛不是要求對方,而是要由自身的付出。
返回列表 上一主題