2014-11-25 3 views
-1

Я пытаюсь создать функцию, определяемую пользователем, которая вычисляет истинные инвентаризации Weeks of Cover. Эта функция будет иметь только два входных параметра: общий инвентарь и еженедельные данные прогноза. Данные еженедельного прогноза будут расположены в строке, которую пользователь может выбрать для ввода. Я хочу, чтобы он работал как функция SUM, когда пользователь выбирает размер параметра диапазона с помощью мыши или вручную вводит его во время ввода. Я не знаю, как это сделать. Я знаю, что хочу делать с данными, как только у меня есть это в UDF, но я борюсь за то, как реально глотать нужные мне данные. Может кто-то указать мне верное направление?Excel VBA - Пользовательская функция - Параметры размера переменной

ответ

1

Грубый пример, но поместить что-то вроде этого в стандартном модуле кода:

Public Function SumMyData(rngToSum As Range) As Double 

Dim weeksOfCover As Double 

weeksOfCover = 10.54 

SumMyData = WorksheetFunction.Sum(rngToSum) * weeksOfCover 

End Function 

Затем в книге, использовать как =SumMyData(C3:C20)

+0

Спасибо за помощь. Что, если бы я хотел работать с каждой ячейкой в ​​диапазоне индивидуально вместо суммы? Есть ли способ загрузить каждую ячейку диапазона в массив? – ReidC

+1

Вы можете просто использовать цикл 'For Every' в коде UDF, например. 'Dim rCell Как Диапазон : Для каждого rCell В rngToSum : «// Do Something : Следующая rCell' –

Смежные вопросы