如何以特定顺序使用多个范围来建立新范围?

时间:2019-07-03 14:06:46

标签: excel vba

我有一个Excel表格,范围从A到E列,共有50行。第1行是表格的标题。我想定义一个包含此顺序的C2:C50和B2:B50的Range对象。这意味着最终对象必须是2x49的矩阵,第一列由C中的数据组成,第二列由B中的数据组成。我使用了以下命令,但它仍以与引用表中相同的顺序返回数据。 。 (第一个B,第二个C)。有人知道吗?

Set rng1 = Sheets("Sheets1").Range("C2:C50") 
Set rng2 = Sheets("Sheets1").Range("B2:B50") 

Set rng = Range(rng1.Address & "," & rng2.Address)

1 个答案:

答案 0 :(得分:1)

使用Application.Union method合并2个范围:

Set rng = Application.Union(rng1, rng2)

范围的组合没有任何顺序。如果要重新排列范围,则需要在工作表本身上执行此操作,或者将数据读入数组中(按想要的顺序)。