Введите формулу UDF в диапазоне с VBA
У меня есть UDF Test(rng as range)
и я хочу сделать что-то вроде этого:
Dim rng2 as Range
Set rng2 = blah blah
rng2.formula = "=test(rng)"
Как я могу это сделать?
3 ответа
Решение
Что, если rng
находится на другом листе? Тогда вам нужно это:
rng2.Formula = "=test('" & rng.Parent.Name & "'!" & rng.Address & ")"
Адрес диапазона должен передаваться как переменная, а не строка:
Dim rng2 as Range
Set rng2 = blah blah
rng2.formula = "=test(" & rng.Address & ")"
Вы должны указать адрес диапазона, т.е.
rng2.formula = "=test(" & rng.address & ")"