VBA在单元格中存储一个范围

我在VBA中有一个问题,我把一个单元地址存储在一个全局variables中。 问题是,任何错误,它会停止工作,因为它失去了variables。 我试图尽可能多地捕捉错误,但如果可能的话,我宁愿将范围存储在单元格中。

有没有人有什么build议? 谢谢詹姆斯

我想这样的东西就是你要找的东西, RangeAddress属性返回Range的string

编辑:已经修改显示Worksheet的名称

 Public oRng As Range Sub storeRange() Dim oWst1, oWst2 As Worksheet Dim oCell As Range Set oWst1 = Application.Worksheets("Sheet1") Set oWst2 = Application.Worksheets("Sheet2") Set oCell = oWst1.Range("A1") Set oRng = oWst2.Range("B2") oCell.Value = oWst2.Name & "!" & oRng.Address End Sub 

我将范围存储在一个定义的名称:假设这个名字叫做CellAddr,它已经存在了

 Names("CellAddr").RefersTo = "=" & Worksheets("Sheet2").Range("A3:B8").Address(True, True, xlA1, True) 

然后,您可以使用定义的名称检索范围值或范围地址。 如果需要,也可以隐藏该名称,并保留在已保存的工作簿中