什么数据类型是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)'。有办法解决这个问题吗?
答案 0 :(得分:2)
我相信你的意思是
Dim UpperLeftHandCornerOfRangeCellReference As Range
Set UpperLeftHandCornerOfRangeCellReference = Range("G12")
在为变量指定范围时必须使用Set
关键字。
如果你想存储你的字符串
myCell = "G12"
然后只需将上面的第2行更改为
Set UpperLeftHandCornerOfRangeCellReference = Range(myCell)
现在,如果你有一个命名范围的单元格(也许你的意思是单元格引用是一个字符串??),你可以这样做
Set UpperLeftHandCornerOfRangeCellReference = Worksheets("Sheet1").Names("MyRangeName").RefersToRange