繁体   English   中英

如何使用其他两个Range变量设置Range变量?

[英]How do I set a Range variable, using two other Range variables?

在我的Excel宏中,我有两个Range Datatype变量

  • 具有值的RangeStrtRange("A1")
  • 带值的RangeEndRange("C10")

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

反正我能做到这一点吗?

采用

Set dataRng = Range(RangeStrt, RangeEnd)

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

我还建议(如果您还不熟悉的话)使用这些范围所在的相关工作表对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

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

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

我个人比较担心这一点,因为您可以更轻松地在Cells公式中使用某些索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM