我需要选择多个格式(“B1:D”& n + 2),每三列最多(“AI1:AK”& n + 2),总共给出十二个范围。我不想使用union,因为我需要在每个范围周围添加一个边框(而union会在所有范围的边缘附加边框),但我似乎无法选择所有范围。
有没有办法可以在不使用union的情况下选择所有范围?
答案 0 :(得分:2)
您可以使用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
有关此概念的更多信息以及我编写的用于取消选择重叠范围的工具,请参阅:http://yoursumbuddy.com/undo-selections-selectracker/
答案 1 :(得分:2)
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
两个都经过测试工作。