非序列范围

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

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

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

这select你提到的单元格:

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

您也可以将Range对象与Union方法结合使用。

来自MSDN :

联盟方法

使用联合(范围1,范围2,…)返回多个区域范围 – 即由两个或更多个连续的单元格块组成的范围。 以下示例将创build一个定义为范围A1:B2和C3:D4的联合的对象,然后select定义的范围。

 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)