Excel 单元格引用 (VBA) 是什么数据类型?

What Data Type is an Excel Cell Reference (VBA)?

Excel 单元格引用是什么数据类型?我构建了表示单元格引用的字符串(例如 "G12"、"AW12" 等),并希望使用它们来创建命名范围;

Dim UpperLeftHandCornerOfRangeCellReference As String
UpperLeftHandCornerOfRangeCellReference = "G12"
Dim LowerRightHandCornerOfRangeCellReference As String    
LowerRightHandCornerOfRangeCellReference = "AW12"
NamedSheet.Names.Add _
            name:=RangeName, _
            RefersTo:="=Sheet!UpperLeftHandCornerOfRangeCellReference:LowerRightHandCornerOfRangeCellReference"

但是,它们不会被解释为单元格引用,而是相应字符串的名称,因此不会创建命名范围。有任何想法吗?请分享。谢谢!

更新:

感谢@MattCremeens 的帮助。

考虑是否必须这样做;

Dim myCell1 As String
myCell1 = "G12"
Dim myCell2 As String
myCell2 = "AW12"
NamedSheet.Names.Add _
            name:=RangeName, _
            RefersTo:="=Sheet!myCell1:myCell2"

这样是行不通的,因为 'RefersTo' 参数中的引号不允许读取字符串变量 'myCell(1/2)'。有什么办法可以解决这个问题吗?

我相信你的意思是

Dim UpperLeftHandCornerOfRangeCellReference As Range    
Set UpperLeftHandCornerOfRangeCellReference = Range("G12")

为变量分配范围时必须使用 Set 关键字。

如果你想像

那样存储你的字符串
myCell = "G12"

然后把上面的第二行改成

Set UpperLeftHandCornerOfRangeCellReference = Range(myCell)

现在,如果您有一个命名范围的单元格(也许这就是您所说的单元格引用是一个字符串的意思??),您可以改为这样做

Set UpperLeftHandCornerOfRangeCellReference = Worksheets("Sheet1").Names("MyRangeName").RefersToRange