[英]How do I set a Range variable, using two other Range variables?
在我的Excel宏中,我有两个Range Datatype变量
RangeStrt
说Range("A1")
RangeEnd
说Range("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.