Подпрограмма Excel VBA: как вызвать Sub в VBA на примере

Что такое подпрограмма в VBA?

A Подпрограмма в VBA — это фрагмент кода, который выполняет определенную задачу, описанную в коде, но не возвращает результат или значение. Подпрограммы используются для разбиения больших фрагментов кода на небольшие управляемые части. Подпрограммы можно вызывать несколько раз из любого места программы.

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

Зачем использовать подпрограммы

  • Разбейте код на небольшой управляемый код: Средняя компьютерная программа имеет тысячи и тысячи строк исходного кода. Это вносит сложность. Подпрограммы помогают решить эту проблему, разбивая программу на небольшие управляемые фрагменты кода.
  • Повторное использование кода. Допустим, у вас есть программа, которой необходим доступ к базе данных, почти все окна программы должны будут взаимодействовать с базой данных. Вместо написания отдельного кода для этих окон вы можете создать функцию, которая обрабатывает все взаимодействия с базой данных. Затем вы можете вызвать его из любого окна, которое захотите.
  • Подпрограммы и функции самодокументируются.. Допустим, у вас есть функция CalculateLoanInterest и другая функция ConnectToDatabase. Просто взглянув на имя подпрограммы/функции, программист сможет сказать, что делает программа.

Правила именования подпрограмм и функций

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

  • Имя подпрограммы или функции вызова VBA не может содержать пробел.
  • Имя подпрограммы вызова VBA Excel или имя функции должно начинаться с буквы или знака подчеркивания. Он не может начинаться с цифры или специального символа.
  • Имя подпрограммы или функции не может быть ключевым словом. Ключевое слово – это слово, имеющее особое значение в VBA. Такие слова, как Private, Sub, Function, End и т. д., являются примерами ключевых слов. Компилятор использует их для конкретных задач.

Синтаксис подпрограммы VBA

Вам нужно будет включить вкладку «Разработчик» в Excel, чтобы следовать этому примеру. Если вы не знаете, как включить вкладку «Разработчик», прочитайте руководство по VBA OperaTORs

ЗДЕСЬ в синтаксисе,

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)
    'do something
End Sub

Объяснение синтаксиса

Code Экшн
  • «Частная подпрограмма mySubRoutine(…)»
  • Здесь ключевое слово «Sub» используется для объявления подпрограммы с именем «mySubRoutine» и запуска тела подпрограммы.
  • Ключевое слово Private используется для указания области действия подпрограммы.
  • «ByVal arg1 As String, ByVal arg2 As String»:
  • Он объявляет два параметра строкового типа данных с именем arg1 и arg2.
  • «Конец субтитра»
  • «End Sub» используется для завершения тела подпрограммы.

Следующая подпрограмма принимает имя и фамилию и отображает их в окне сообщения.

Теперь мы собираемся запрограммировать и выполнить эту подпроцедуру. Давайте посмотрим на это.

Как вызвать Sub в VBA

Ниже приведен пошаговый процесс вызова Sub в VBA:

  1. Разработайте пользовательский интерфейс и установите свойства для пользовательских элементов управления.
  2. Добавьте подпрограмму
  3. Напишите код события щелчка для командной кнопки, которая вызывает подпрограмму.
  4. Протестируйте приложение

Шаг 1) Пользовательский интерфейс

Создайте пользовательский интерфейс, как показано на изображении ниже.

Как вызвать Sub в VBA

Установите следующие свойства. Свойства, которые мы устанавливаем:

S / N Контролировать недвижимость Значение
1 КомандаКнопка1 Имя btnDisplayFullName
2 Подпись Полное имя подпрограммы


Теперь ваш интерфейс должен выглядеть следующим образом.

Как вызвать Sub в VBA

Шаг 2) Добавить подпрограмму

  1. Нажмите Alt + F11, чтобы открыть окно кода.
  2. Добавьте следующую подпрограмму
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

ЗДЕСЬ в коде,

Code Действия
  • «Частный дополнительный дисплейFullName(…)»
  • Он объявляет частную подпрограмму displayFullName, которая принимает два строковых параметра.
  • «ByVal firstName как строка, ByVal фамилия как строка»
  • Он объявляет две переменные параметра firstName и LastName.
  • MsgBox имя Фамилия"
  • Он вызывает сообщениеBox встроенная функция для отображения окна сообщения. Затем она передает переменные 'firstName' и 'lastName' в качестве параметров.
  • Амперсанд «&» используется для объединения двух переменных и добавления пустого пространства между ними.

Шаг 3) Вызов подпрограммы

Вызов подпрограммы из события нажатия командной кнопки.

  • Щелкните правой кнопкой мыши командную кнопку, как показано на изображении ниже. Выберите «Просмотреть код».
  • Откроется редактор кода

Как вызвать Sub в VBA

Добавьте следующий код в редактор кода для события нажатия командной кнопки btnDisplayFullName.

Private Sub btnDisplayFullName_Click()
    displayFullName "John", "Doe"
End Sub

Окно вашего кода теперь должно выглядеть следующим образом

Как вызвать Sub в VBA

Сохраните изменения и закройте окно кода.

Шаг 4) Тестирование кода

На панели инструментов разработчика отключите режим дизайна. Как показано ниже.

Как вызвать Sub в VBA

Шаг 5) Нажмите на командную кнопку «Подпрограмма полного имени».

Вы получите следующие результаты

Как вызвать Sub в VBA

Загрузите приведенный выше код Excel

Резюме

  • Подпрограмма — это фрагмент кода, выполняющий определенную задачу. Подпрограмма не возвращает значение после выполнения
  • Подпрограммы обеспечивают возможность повторного использования кода.
  • Подпрограммы помогают разбить большие куски кода на небольшой управляемый код.