什么数据types是Excel单元格引用(VBA)?
什么数据types是Excel单元格引用? 我已经构造了表示单元格引用的string(例如“G12”,“AW12”等),并且想要使用它们来创build命名范围;
Dim UpperLeftHandCornerOfRangeCellReference As String UpperLeftHandCornerOfRangeCellReference = "G12" Dim LowerRightHandCornerOfRangeCellReference As String LowerRightHandCornerOfRangeCellReference = "AW12" NamedSheet.Names.Add _ name:=RangeName, _ RefersTo:="=Sheet!UpperLeftHandCornerOfRangeCellReference:LowerRightHandCornerOfRangeCellReference"
但是,它们不被解释为单元格引用,而是相应string的名称,因此不会创build命名范围。 有任何想法吗? 请分享。 谢谢!
更新:
感谢@MattCremeens的帮助。
考虑是否必须这样做,
Dim myCell1 As String myCell1 = "G12" Dim myCell2 As String myCell2 = "AW12" NamedSheet.Names.Add _ name:=RangeName, _ RefersTo:="=Sheet!myCell1:myCell2"
这样做是行不通的,因为'RefersTo'参数中的引号不允许读取stringvariables'myCell(1/2)'。 有没有办法解决这个问题?
我相信你的意思是
Dim UpperLeftHandCornerOfRangeCellReference As Range Set UpperLeftHandCornerOfRangeCellReference = Range("G12")
将范围分配给variables时必须使用Set
关键字。
如果你想存储你的string像
myCell = "G12"
那么就把上面的第二行改成
Set UpperLeftHandCornerOfRangeCellReference = Range(myCell)
现在,如果你有一个名为范围的单元格(也许这是你的意思是一个单元格引用是一个string??),你可以做到这一点
Set UpperLeftHandCornerOfRangeCellReference = Worksheets("Sheet1").Names("MyRangeName").RefersToRange