Автозаполнение для пользовательской функции - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть пользовательская функция в папке модуля в VB Editor.Функция вычисляет значения для каждой ячейки в столбце F, выполняя примерно 20 Если условия основаны на комбинации значений, присутствующих в столбце C, столбце D и столбце E.

Функция возвращает вычисленное значение, когда я включаюфункционировать как формула в ячейке F1 (то есть = calcValue ()).Функция не принимает никаких входных параметров.Основываясь на активной строке, он вычисляет значение и возвращает.

Но записанный мной оператор автозаполнения не заполняет значение для других ячеек столбца F, когда я дважды щелкаю ячейку F1 (после вызова пользователяопределенная функция).Он копирует то же значение, что и в F1, в остальные ячейки столбца F.Похоже, что другие ячейки столбца F не учитывают соответствующую активную строку при вызове функции.

Set targetRange = Range(StartRange, StartRange.Offset(0, -1).End(xlDown).Offset(0, 1))
Range("F1").AutoFill Destination:=targetRange

1 Ответ

0 голосов
/ 12 ноября 2018

Ваш UDF будет работать лучше, если вы передадите в качестве параметров значения из столбцов C, D и E, а не будете читать их непосредственно из UDF.

=calculateValue(C1,D1,E1)

Тогда вашему UDF не нужно знать, что такое активная строка (что, кстати, не изменится, если вы все равно запрограммируете заполнение)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...