Учебники

10) Excel VBA: вызов подпрограммы

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

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

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

В этом уроке вы узнаете

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

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

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

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

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

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

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

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

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

Синтаксическое объяснение

Код

действие

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

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

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

Как вызвать подпрограмму в VBA

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

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

Дизайн пользовательского интерфейса, как показано на рисунке ниже

Функции VBA и подпрограмма

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

S / N контроль Имущество Ценность
1 CommandButton1 имя btnDisplayFullName
2 титр Полное имя подпрограммы

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

Функции VBA и подпрограмма

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

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

ЗДЕСЬ в коде,

Код

действия

  • «Private Sub displayFullName (…)»
  • Он объявляет приватную подпрограмму displayFullName, которая принимает два строковых параметра.
  • «ByVal firstName As String, ByVal lastName As String»
  • Он объявляет две переменные параметра firstName и lastName
  • MsgBox firstName & «» & lastName «
  • Он вызывает встроенную функцию MsgBox для отображения окна сообщения. Затем он передает переменные ‘firstName’ и ‘lastName’ в качестве параметров.
  • Амперсанд «&» используется для объединения двух переменных и добавления пустого пространства между ними.

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

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

Функции VBA и подпрограмма

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

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

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

Функции VBA и подпрограмма

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

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

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

Функции VBA и подпрограмма

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

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

Функции VBA и подпрограмма

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

Резюме:

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