举例说明:引用 A1:A2, C2:C4, E5, F6 四个区域的数据,并输出到 A9:A15 。
1、先定义一个单元格变量Rng;
Dim Rng As Range
2、用Union() 函数将多个单元格及区域联合起来,并赋值给单元格变量 Rng;
Set Rng = Union([A1:A2], [C2:C4], [E5], [F6])
3、定义一个数组Arr 用于存放联合单元格区域 Rng 的数据;
ReDim Arr(Rng.Count - 1)
4、用 For Each 循环将 Rng 中的数据依次存入数组 Arr 中;
Dim xx, i%
For Each xx In Rng
Arr(i) = xx
i = i + 1
Next
5、用 Resize() 及转置函数 Transpose() 将数组 Arr 输出到 A9:A15。
[A9].Resize(UBound(Arr) + 1) = Application.Transpose(Arr)
参考下图
可以使用Range,例如Range("A1:B2")就引用了4个单元格。