使用"范围"的"单元格"

Luc*_*otz 6 excel vba excel-vba

我一直在寻找这个问题,但我还没有成功.

我试图在VBA中使用range with cells命令,最后一行是可变的.而且,我没有连续的专栏.

我必须选择范围S2:S9U2: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)

有谁知道怎么做?

luk*_*e_t 8

另一种选择是在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)


Bon*_*ond 7

你可以用这个:

Range("S2:S" & intLastRow & ",U2:U" & intLastRow).Select
Run Code Online (Sandbox Code Playgroud)