Какой тип данных является ссылкой на ячейку 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
Другие вопросы по тегам