Страницы: 1
RSS
Создание пользовательской функции с переменным количеством аргументов, как СЧЁТЕСЛИМН()
 
Доброго дня!
Может кто подскажет, как правильно записать параметры пользовательской функции function myFunction (?????), чтобы при вызове функции можно было получить такое же окно для ввода, как при вызове функции СЧЁТЕСЛИМН() (прикрепил рисунок). И вообще, возможно ли такое? Пробовал ParamArray, но это не совсем подходит.

Заранее благодарен за помощь!
 
Код
Function arr(ParamArray args())
End Function


Цитата
Palsanich написал: Пробовал ParamArray
А чем именно не подходит, если не секрет? Иначе все равно никак.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
При написании функции опишите ее аргументы
MyFunction(A as Range, B as String, C as Long) и т.д.

P.S. Не, неверно я посоветовал. Невнимательно условия задачи прочел.
Изменено: Пытливый - 11.09.2015 15:57:04
Кому решение нужно - тот пример и рисует.
 
Код
Function jjj(v1 As Variant, Optional v2 As Variant, Optional v4 As Variant, Optional v5 As Variant)
---
Или я не понял вопроса?..
Изменено: JayBhagavan - 11.09.2015 15:57:26

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan, что-то мне подсказывает, что придется очень сильно потрудиться над проверкой значений аргументов и их влияния на выполнение кода, если их будет более 10.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist, Вы несомненно правы.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Думаю, вариант с использованием Optional подойдет, вот только, когда аргументов будет передаваться много, тяжко придется)) Можно выкрутиться и с ParamArray, с ним проще входные данные обработать,буду пробовать.
Просто не верится, что разработчики, программируя функцию СЧЁТЕСЛИМН() 255 раз прописывали ее аргументы, хотя кто их знает)
 
Цитата
The_Prist написал: А чем именно не подходит, если не секрет?
Дело в том, что тогда пользователю нужно объяснять, в каком порядке вводить данные, допустим первые 10 заполнит корректно, а вот потом есть большая вероятность сбиться, какой параметр в данный момент вводить. А причина в том, что при использовании ParamArray нет подписей, а лишь многоточия (прикрепил рисунок).
Изменено: Palsanich - 11.09.2015 18:21:21
Страницы: 1
Читают тему
Наверх