Luc*_*otz 6 excel vba excel-vba
我一直在寻找这个问题,但我还没有成功.
我试图在VBA中使用range with cells命令,最后一行是可变的.而且,我没有连续的专栏.
我必须选择范围S2:S9和U2:U9(如前所述,最后一行可以是变量).我知道这个命令有效:
Range(Cells(2, 19), Cells(NumberofRows, 19)).select
Run Code Online (Sandbox Code Playgroud)
但我需要选择2个不连续的不同列.我正在尝试这样的事情,但没有成功:
Range(Cells(2, 19), Cells(NumLinhas, 19);(Cells(2, 21), Cells(NumLinhas, 21)).Select
Run Code Online (Sandbox Code Playgroud)
有谁知道怎么做?
另一种选择是在VBA中使用Union()Method.
Union(Range(Cells(2, 19), Cells(NumLinhas, 19)), _
Range(Cells(2, 21), Cells(NumLinhas, 21))).Select
Run Code Online (Sandbox Code Playgroud)
如果您希望将更多范围添加到联合中,则可以继续向联合添加范围,如下所示.当您将循环合并到联合中添加范围时,这尤其有用.
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
Run Code Online (Sandbox Code Playgroud)
你可以用这个:
Range("S2:S" & intLastRow & ",U2:U" & intLastRow).Select
Run Code Online (Sandbox Code Playgroud)