我一直在寻找这一段时间,但我还没有成功。
我正在尝试在VBA中使用range with cells命令,最后一行是可变的。而且,我没有连续的专栏。
我必须选择范围S2:S9
和U2:U9
(如前所述,最后一行可以是变量)。我知道这个命令有效:
Range(Cells(2, 19), Cells(NumberofRows, 19)).select
但我需要选择2个不连续的不同列。我正在尝试这样的事情,但没有成功:
Range(Cells(2, 19), Cells(NumLinhas, 19);(Cells(2, 21), Cells(NumLinhas, 21)).Select
有谁知道怎么做?
答案 0 :(得分:8)
另一个选择是在VBA中使用Union()
Method。
Union(Range(Cells(2, 19), Cells(NumLinhas, 19)), _
Range(Cells(2, 21), Cells(NumLinhas, 21))).Select
如果您希望添加更多范围到联合,则可以继续向联合添加范围,如下所示。当您将循环合并到联合中添加范围时,这尤其有用。
Dim rngUnion As Range
Set rngUnion = Union(Range("D1:D2"), Range("H1:H2"))
Set rngUnion = Union(rngUnion, Range("B1:B2"))
Set rngUnion = Union(rngUnion, Range("F1:F2"))
rngUnion.Select
答案 1 :(得分:7)
你可以使用它:
Range("S2:S" & intLastRow & ",U2:U" & intLastRow).Select
答案 2 :(得分:1)
如果您想使用Range
和Cells
坚持逻辑,请尝试以下操作:
Range(Range(Cells(2, 19), Cells(NumLinhas, 19)).Address & "," & _
Range(Cells(2, 21), Cells(NumLinhas, 21)).Address).Select
有点长,但你会让你的逻辑工作 您还可以查看以下链接: