如何在VBA中使用两个变量选择一系列单元格

时间:2016-05-04 18:44:01

标签: excel vba excel-vba

我想用:

    Set rng1 = .Range("A1")
    Set rng2 = .Range("C3")

正如本link中所述。 OP具有细胞A1和细胞C3作为两个独立的单细胞范围。他问如何改变范围,以便它们之间的所有细胞也包括在一个新的更大的范围内。我的问题很相似,但我的细胞范围随每个新方案而变化。示例#1在单元格D1中开始日期,在单元格Y1中结束日期,新范围是D1:Y1;或者示例#2在单元格B1中开始日期,在单元格AZ1中结束日期,新范围是B1:AZ1。如何更改上面的代码,以便可以使用变量而不是静态范围?

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解了这个问题。所以,请看看以下内容,如果这解决了您的“问题”,请告诉我:

Option Explicit

Public Sub tmpTest()

Dim rng1 As Range
Dim rng2 As Range
Dim rngComposite As Range

With ThisWorkbook.Worksheets(1)
    Set rng1 = .Range("A1")
    Set rng2 = .Range("C3")
    Set rngComposite = .Range(rng1, rng2)
    Debug.Print rngComposite.Address
End With

End Sub

基本上,范围.Range(rng1, rng2)与基础范围一样动态,并且每次rng1rng2更改时都会更改。