Какой тип данных является ссылкой на ячейку Excel (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). Есть ли способ исправить это?
1 ответ
Я верю, что ты собираешься делать это
Dim UpperLeftHandCornerOfRangeCellReference As Range
Set UpperLeftHandCornerOfRangeCellReference = Range("G12")
Должен использовать Set
ключевое слово при назначении диапазонов переменным.
Если вы хотите сохранить вашу строку как
myCell = "G12"
затем просто измените 2-ю строку выше
Set UpperLeftHandCornerOfRangeCellReference = Range(myCell)
Теперь, если у вас есть ячейка с именованным диапазоном (возможно, именно это вы подразумеваете под ссылкой на ячейку, являющейся строкой??), вы можете сделать это вместо этого.
Set UpperLeftHandCornerOfRangeCellReference = Worksheets("Sheet1").Names("MyRangeName").RefersToRange