Введите формулу 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 & ")"
Другие вопросы по тегам