如何使用另外两个Range变量设置Range变量?

时间:2017-02-16 06:20:45

标签: excel vba excel-vba

在我的Excel宏中,我有两个Range数据类型变量

  • RangeStrt,其值为Range("A1")
  • RangeEnd,其值为Range("C10")

我需要第三个Range变量DataRng,它将存储从开始到结束的范围(即Range("A1:C10"))。

无论如何我能做到吗?

3 个答案:

答案 0 :(得分:1)

使用

Set dataRng = Range(RangeStrt, RangeEnd)

答案 1 :(得分:0)

关于如何设置Range的技术方面在上面的答案中给出了@ user3598756

我还建议(如果您还不熟悉的话)使用这些范围所在的相关工作表完全限定您的Range

因此,您应在设置范围之前添加With Worksheets("YourSheetName"),并在With语句中,通过之前添加Range来限定.

代码

Option Explicit

Sub DefineCombinedRange()

Dim RangeStrt As Range
Dim RangeEnd  As Range
Dim DataRng  As Range

' add With statement to fully qualify your Ranges
With Worksheets("Sheet1") '<-- modify "Sheet1" with your sheet's name (where you have your ranges)
    Set RangeStrt = .Range("A1")
    Set RangeEnd = .Range("C10")

    Set DataRng = Range(RangeStrt, RangeEnd) '<-- setting the 3rd range, using the first 2 Ranges

    ' the line below is for debug
    Debug.Print DataRng.Address
End With

End Sub

答案 2 :(得分:0)

除了@ user3598756答案(可以),您还可以使用:

Range(Cells(1,1), Cells(10,3)).Select

我个人认为这是因为你可以更容易地在Cells公式中使用一些索引。