Как в пользовательской функции создать произвольное количество аргументов?
Категория: Basic
2012-09-07 16:35:48
Для создания произвольного количества аргументов следует использовать ключевое слово ParamArray. Обратите внимание на то, этот аргумент должен быть последним в списке аргументов, иметь тип Variant и он не может использоваться вкупе со словами ByVal, ByRef или Optional.
code: #vba
Function CellText(ParamArray Massiv()) For Each vItem In Massiv CellText = CellText & CStr(vItem) Next End Function
Три примера вызова этой пользовательской функции из ячеек рабочего листа:
=CellText("Текст";"A";"B";"C") =CellText("ОШИБКА: ";НД()) =CellText("Текст";;;"M")
Если существует вероятность, что один или несколько аргументов могут быть пропущены (см. третий пример), то в этом случае, также можно использовать функцию IsMissing()
code: #vba
Function CellText(ParamArray Massiv()) For Each vItem In Massiv If Not IsMissing(vItem) Then _ CellText = CellText & CStr(vItem) Next End Function
Поделиться: