如何使用两个其他Rangevariables来设置Rangevariables?

在我的Excelmacros中,我有两个Range Datatypevariables

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

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

无论如何,我可以做到这一点?

使用

 Set dataRng = Range(RangeStrt, RangeEnd) 

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

我也build议(如果你不熟悉),完全符合你的Range ,以及这些范围所在的相关工作表。

因此,在设置范围之前,在With语句中添加With Worksheets("YourSheetName") ,通过添加一个. 之前。

 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答案(这是OK),你也可以使用这个:

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

我个人喜欢这一个,因为你可以更容易地使用Cells公式内的一些索引。