Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Функция Evaluate
 
задача следующая.  
на листе у меня есть массив, в котором есть много нулевых значений.  
внутри макроса мне надо создать новый массив, с которым я дальше буду работать в пользовательской функции, который будет состоять из ненулевых значений.  
 
evaluate в данном случае применяется потому, что в своей функции я дальше его буду вызывать в более сложной форме.
Функция Evaluate
 
как это изменить?
Функция Evaluate
 
Помогите, пожалуйста!  
 
Не понимаю где ошибка, но почему-то не работает макрос
Изменение массива
 
штука в том, что я буду делать выборку большим массивам данных, которые в итоге будут давать произвольной величины массивы, где будет ровно 3 ненулевых значения, причем очередность у них одинаковая, поэтому и стоит это вопрос:)  
 
а как именно реализовать с помощью Redim preserve()?
Изменение массива
 
СпасибО!  
 
А можно всё же приравнять ненулевые значения из ss1 какому внутреннему массиву данных (типа Range), чтобы дальше им оперировать внутри функции?
Изменение массива
 
Мне в пользовательскую функцию передается ссылка на массив ячеек.  
Как я могу удалить нулевые значения в этом массиве значений, чтобы дальше работать с данными?  
 
Файл во вложении.
Массивные вычисления в VBA
 
В экселе могу посчитать значение по следующей формуле.  
 
=sum(if($C$13:$C$15< D22,1,(D22/($C$13:$C$15))^($C$16:$C$18))*(C22:C24))  
 
Каким образом можно написать пользовательскую функцию в VBA, куда в качестве аргументов передавались бы ссылки на 4 Range? И сама эта функция могла бы по умолчанию работать с передаваемыми аргументами как с массивами.
VBA формула массива
 
Файл прикреплен  
Имеет смысл смотреть последний файл
VBA формула массива
 
Файл ниже
VBA формула массива
 
Дед_мороз, я же говорю что при данном написании у меня не работает макрос  
Может быть мне что-то надо поменять в настройках экселя?
VBA формула массива
 
Интересна русская версия  
Range("G5").FormulaArray = "=сумм(если($B$4:$B$6<H5;1;(H5/($B$4:$B$6))^($C$4:$C$6))*($A$4:$A$6))"  
 
К сожалению, не работает макрос. Выдает ошибку 1004. "Нельзя установить свойство Formulaarray класса Range."
VBA формула массива
 
Прошу извинений за допущенную ошибку (про языки), но, к сожалению, разделительные знаки не влияют на работу макроса.
VBA формула массива
 
Файл прикреплен
VBA формула массива
 
К сожалению, та же самая ошибка
VBA формула массива
 
Подскажите, пожалуйста!  
 
Возникла проблема. Хочу присвоить ячейке формулу массива    
 
Range("G5").FormulaArray = "=sum(if(H5>$B$4:$B$6;1;(H5/$B$4:$B$6)^$C$4:$C$6)*$A$4:$A$6)"  
 
Выдает ошибку, что не может ячейке присвоить формулу массива. Как решить эту проблему?
Страницы: 1
Наверх