Я хочу преобразовать строку в переменную диапазона, которую я буду использовать в другом месте. Моей первой идеей было создать функцию преобразования текста в диапазон и избежать повторного использования синтаксиса. Я знаю, что это, вероятно, очень простой вопрос, но я не мог понять это.
Моя первая попытка была такая. Он печатает «косвенно», где я хочу (это был всего лишь тест), но, запуская макрос шаг за шагом, я вижу, что в то время возникает ошибка 91 для «выхода» из функции.
Dim rng As Range
rng = TXT2RNG(Range("A1").Value)
'This is the function, located in Modulo1
'Function TXT2RNG(text As String) As Range
'Set TXT2RNG = Range(text)
'TXT2RNG.Value = "indirect"
'End Function
End Sub
Я пытался сделать то же самое, но без функции, и она работает, как я ожидал.
Dim rng As Range
Set rng = Range(Range("A2").Value)
'Set rng = Range(Range("A1").Value)
rng.Value = "direct"
End Sub
Резюме: второй код работает как обходной путь, но я хочу знать, почему первый код не может извлечь из него уроки и использовать подобные структуры в будущем. Спасибо