В пользовательской функции создать произвольное количество аргументов — Visual Basic(Бейсик)

Для создания произвольного количества аргументов следует использовать ключевое слово ParamArray. Обратите внимание на то, этот аргумент должен быть последним в списке аргументов, иметь тип Variant и он не может использоваться вкупе со словами ByVal, ByRef или Optional.

Function CellText(ParamArray Massiv())
    For Each vItem In Massiv
        CellText = CellText & CStr(vItem)
    Next
End Function
Три примера вызова этой пользовательской функции из ячеек рабочего листа:

=CellText("Текст";"A";"B";"C")
=CellText("ОШИБКА: ";НД())
=CellText("Текст";;;"M") 
Если существует вероятность, что один или несколько аргументов могут быть пропущены (см. третий пример), то в этом случае, также можно использовать функцию IsMissing()

Function CellText(ParamArray Massiv())
    For Each vItem In Massiv
        If Not IsMissing(vItem) Then _
        CellText = CellText & CStr(vItem)
    Next
End Function

Leave a Comment