使用 VBA 选择多个范围

Rob*_*bby 3 excel vba

我需要在工作表中选择多个范围以在其上运行各种 VBA 代码。范围始终从第 84 行开始,但结束取决于数据向下的距离。我一直使用如下代码分别选择这些范围:

Sub SelectRange()
Dim LastRow As Integer
LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Range("A84:B" & LastRow).Select
End Sub
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我不知道如何一次选择多个范围。我已经尝试了我能想到的一切:

  • 范围(“A84:B”,“D84:E”,“H84:J”&LastRow).Select
  • 范围("A84:B,D84:E,H84:J" & LastRow).Select
  • 范围(“A84:B&LastRow,D84:E&LastRow,H84:J&LastRow”).Select

什么都不起作用。运行其中任何一个时我都会遇到运行时错误。

Sco*_*ner 6

使用联合:

Dim rng as Range
With ActiveSheet
    set rng = Union(.Range("A84:B" & LastRow),.Range("D84:E" & LastRow),.Range("H84:J" & LastRow))
End With
rng.select
Run Code Online (Sandbox Code Playgroud)

但是,如果您打算在该范围内执行某些操作,则可以跳过.Select并只执行所需的操作,即rng.copy