Как вернуть значение из функции vba (с примерами)


Чтобы вернуть значение из функции в VBA, вы должны присвоить значение имени функции.

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

 Function DivideValues(x,y)
    DivideValues = x / y
End Function

Имя этой функции — DivideValues , поэтому, чтобы вернуть значение из этой функции, нам нужно присвоить результат x/y одноименной переменной из DivideValues .

Если ваша функция использует логику If Else , вы можете присвоить значение имени функции несколько раз.

Например, вы можете создать следующую функцию, которая возвращает «Невозможно разделить на ноль», если вы пытаетесь разделить на ноль, или просто возвращает результат деления:

 Function DivideValues(x,y)
    If y = 0 Then
      DivideValues = " Cannot divide by zero "
    Else
      DivideValues = x / y
    End If
End Function

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: как вернуть значение из функции VBA

Предположим, мы хотим создать в VBA функцию для деления значения ячейки A2 на значение ячейки B2 :

Для этого мы можем создать следующую функцию:

 Function DivideValues(x,y)
    DivideValues = x / y
End Function

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Функция возвращает значение 5 , которое является результатом деления 50 на 10.

Мы также могли бы создать функцию, которая использует логику If Else, чтобы сначала проверить, не равно ли значение, на которое мы делим, нулю:

 Function DivideValues(x,y)
    If y = 0 Then
      DivideValues = " Cannot divide by zero "
    Else
      DivideValues = x / y
    End If
End Function

Если мы изменим значение в ячейке B2 , а затем воспользуемся этой функцией для выполнения деления, мы получим следующий результат:

Поскольку мы попытались разделить на ноль, функция возвращает «Невозможно разделить на ноль».

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

Как закомментировать блок кода в VBA
Как проверить, существует ли файл с помощью VBA
Как создавать папки с помощью VBA

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *