在我的Excel宏中,我有两个Range数据类型变量
RangeStrt
,其值为Range("A1")
RangeEnd
,其值为Range("C10")
我需要第三个Range变量DataRng
,它将存储从开始到结束的范围(即Range("A1:C10")
)。
无论如何我能做到吗?
答案 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公式中使用一些索引。