非顺序范围

时间:2009-02-04 16:53:41

标签: excel vba excel-vba

我可以将范围对象设置为等于一组非连续的单元格吗?我希望我的Range等于单元格A1,A3,A5等,我可以随意选择行和列。

2 个答案:

答案 0 :(得分:2)

当然,例如,这会选择一组相当随机的单元格:

Range("A1:C8,E13:G21,C20:D26,L13:N22").Select

然后选择你提到的单元格:

Range("A1,A3,A5").Select

您还可以将范围对象与联盟方法结合使用。

答案 1 :(得分:1)

来自MSDN

联盟方法

使用Union(range1,range2,...)返回多区域范围 - 即由两个或多个连续的单元格块组成的范围。以下示例创建一个对象,该对象定义为范围A1:B2和C3:D4的并集,然后选择定义的范围。

Dim r1 As Range, r2 As Range, myMultiAreaRange As Range
Worksheets("sheet1").Activate
Set r1 = Range("A1:B2")
Set r2 = Range("C3:D4")
Set myMultiAreaRange = Union(r1, r2)