选择没有联合的多个动态范围

Selecting multiple dynamic ranges without union

我需要 select 遵循形式 ("B1:D" & n + 2) 的多个范围,每三列最多 ("AI1:AK" & n + 2),给出总共十二个范围。我不想使用联合,因为我需要在每个范围周围添加一个边框(而联合会在所有范围的边缘周围添加一个边框),但我似乎无法 select 所有范围.

有没有一种方法可以 select 所有范围而不使用联合?

您可以使用多个范围,例如 Range("A1:A2, C2:D4")

对于您的示例,请尝试类似的操作:

Sub PickMultipleAreas()
Dim n As Long

n = 2
With ActiveSheet
    .Range("B1:D" & n + 2 & "," & _
           "AI1:AK" & n + 2).BorderAround ColorIndex:=3, Weight:=xlThick
End With
End Sub

有关此概念的更多信息以及我编写的用于去除 select 重叠范围的工具,请参阅:http://yoursumbuddy.com/undo-selections-selectracker/

For Next 循环就可以了:

For i = 2 to 35 Step 3
    Range(Cells(1, i), Cells(n + 2, i + 2)).BorderAround 'your criteria here
Next i

或使用Offset()

For i = 0 to 11
    Range("B1:D" & n + 2).Offset(0, i * 3).BorderAround 'your criteria here
Next i

两者都经过测试工作。