Microsoft Excel

трюкиприёмырешения

VBA и макросы
20.04.2013 6802

Как добавить описание аргументов функции в Excel

Когда вы используете диалоговое окно Мастер функций для вставки встроенной функции листа, нажатие кнопки ОК приводит к появлению другого окна Аргументы функции, которое помогает вам указать аргументы для функции.

Вы можете использовать диалоговое окно Мастер функций для вставки пользовательской функции VBA в формулу, но для описания аргументов не откроется окно Аргументы функции. Однако новая возможность Excel позволяет создавать описания аргументов для пользовательских функций VBA.

Чтобы продемонстрировать, как это работает, я буду использовать функцию EXTRACTELEMENT, приведенную в статье «Как в Excel при помощи VBA создать простую функцию листа«:

1
2
3
4
5
6
7
Function EXTRACTELEMENT(Txt, n, Separator) As String
'	Возвращает n-й элемент текстовой строки
'	где элементы разделены определенным символом-разделителем
    Dim AllElements As Variant
    AllElements = Split(Txt, Separator)
    EXTRACTELEMENT = AllElements(n - 1)
End Function

Для предоставления описания этой функции нужно создать и выполнить макрос. Следующий макрос при выполнении дает описание функции, а также описание каждого из трех аргументов:

1
2
3
4
5
6
7
8
9
10
11
12
Sub SpecifyDescriptions()
    Dim D0 As String, D1 As String
    Dim D2 As String, D3 As String
        D0 = "Возвращает указанный элемент из строки, которая использует символ-разделитель"
        D1 = "Текстовая строка, из которой вы выполняете извлечение"
        D2 = "Целое число, обозначающее элемент, который будет извлечен"
        D3 = "Отдельный символ, используемый в качестве разделителя"
        Application.MacroOptions _
            Macro:="EXTRAELEMENT", _
            Description:=D0, _
            ArgumentDescriptions:=Array(D1, D2, D3)
End Sub

Обратите внимание, что вы должны запустить этот макрос только один раз. Описания хранятся в книге, содержащей определение функции.

Top