Подфункция VBA

Это самый важный и важный компонент VBA. Процедура Sub - это серия операторов Visual Basic, заключенная в операторы Sub и End Sub. SUB означает процедуру подпрограммы, это последовательность операторов VBScript, где она не возвращает результат или значение.

Подпроцедура обычно принимает аргументы или код (то есть переменные, константы или выражения, которые передаются вызывающей процедурой), которые выполняются для выполнения конкретной задачи. Оператор Sub содержит пустой набор скобок () без аргументов.

Давайте посмотрим, как писать подпроцедуры в Excel VBA?

Базовая структура VBA Sub

Sub (подпроцедура или название задачи) ()

(Какую задачу нужно выполнить?)

End Sub

Обычно подпрограмма начинается с оператора Sub и заканчивается оператором End Sub . Подпроцедура или имя задачи также называется именем макроса, где оно не должно содержать пробелов и иметь уникальное имя. Sub принимает ввод или код от пользователя и отображает или печатает информацию. Когда инструкция завершена или в конце инструкции используется End Sub

Примечание: Sub может принимать только аргументы, они не возвращают результаты

Различные типы подпрограмм в VBA (модификаторы доступа)

  1. Публичная подпроцедура
  2. Частная подпроцедура

Прежде чем понимать разницу между ними, вы должны знать, что «Уровень доступа» - это степень возможности доступа к нему. Public Sub аналогичен Sub, где процедура позволяет вам использовать процедуру или код VBA во всех модулях рабочей книги. тогда как Private Sub Процедура позволяет использовать процедуру или код VBA только в текущем модуле. (Объяснено в примере)

Как использовать подфункцию в Excel VBA?

Ниже приведены различные примеры использования Sub Function в Excel с использованием кода VBA.

Вы можете скачать этот шаблон VBA Sub Excel здесь - Шаблон VBA Sub Excel

Подфункция VBA - Пример № 1

Шаг 1. На вкладке « Разработчик » щелкните Visual Basic в группе « Код » или используйте сочетание клавиш Alt + F11.

Шаг 2: Теперь вы можете создать пустой модуль, т.е. щелкнуть правой кнопкой мыши на Sheet1 (VBA_SUB), появятся различные опции, в этом выберите « Вставить» и под вставкой появятся три опции, где вам нужно выбрать « Модуль», будет создан пустой модуль., Вы можете переименовать его как «VBA_SUB» в окне раздела свойств

Шаг 3. Начните с подпроцедуры следующим образом и создайте код VBA_SUB

Код:

 Sub VBA_SUB () End Sub 

Шаг 4: Как только вы начнете вводить диапазон, его аргумент появится в скобках и щелкните по клавише табуляции, чтобы выбрать его. Как только вы оставите пробел и введете открытую скобку «(», появится аргумент CELLS, где вам нужно ввести синтаксис или аргумент для функции диапазона, то есть «E5»

Предположим, я хочу, чтобы SUBROUTINE появился в ячейке «E5». Для этого мне нужно набрать = «SUBROUTINE» после функции диапазона. и затем нажмите ввод.

Теперь код готов,

Код:

 Sub VBA_SUB () Range ("E5") = "SUB ROUTINE" End Sub 

Шаг 5: Теперь вы можете запустить макрос, нажав кнопку Run Sub (т.е. зеленую кнопку «play») или нажав F5 . Вы можете наблюдать, как «СУБРОУТИН» появляется в ячейке «В4»

Подфункция VBA - Пример № 2

Шаг 1: Начните с Sub, и теперь мы увидим, как мы можем вызвать функцию, используя MsgBox.

Код:

 Private Sub Display_Message () MsgBox "Моя первая программа" End Sub 

Шаг 2. Предположим, что при запуске вышеупомянутого кода в модуле VBA_SUB он сработает, но при попытке скопировать и запустить его в другом модуле, т.е. запустить этот код во вновь созданном модуле 1 листа 2 или 3, всплывающее сообщение не появится.

Подфункция VBA - Пример № 3

Шаг 1: Доступ к публичным подпроцедурам возможен из другого модуля, давайте посмотрим, как он работает.

Код:

 Public Sub task_1 () Range ("H7") = "PUBLIC SUBROUTINE" End Sub 

Шаг 2: Когда я запускаю вышеупомянутый код (Public sub task_1 ) в модуле VBA_SUB, он возвращает значение или результат, то есть текстовую строку «PUBLIC SUBROUTINE» в ячейке «H7» sheet1

Предположим, я хочу запустить этот же код во вновь созданном модуле, например, PUBLIC_SUB, тогда нет необходимости писать весь код в этом модуле, просто вы упоминаете имя макроса, то есть вызов task_1, вместо функции range во второй строке кода., вы получите тот же вывод или результат, то есть текстовую строку «ОБЩЕСТВЕННЫЙ ПОДРАТИН» в ячейке «Н7» листа2.

Код:

 Public Sub task_2 () Вызов task_1 End Sub 

Сохраните вашу книгу как «Excel с поддержкой макросов». Когда вы снова откроете этот файл Excel, вы можете использовать нижеприведенную комбинацию клавиш, т.е.

  • Клавиши быстрого доступа Function + Alt + F11 помогут вам получить доступ ко всему созданному макрокоду рабочей книги.
  • Сочетание клавиш + Alt + F8 помогает вам открыть диалоговое окно «Макрос», которое содержит все имена макросов, где вы можете запустить определенный код макроса по вашему выбору.

То, что нужно запомнить

  • Если никакое ключевое слово, такое как PUBLIC или PRIVATE, не упомянуто или не вставлено в начале функции VBA, то есть в декларации Sub, тогда оно будет рассматривать настройку по умолчанию «Public» Sub.
  • Меню Intellisense - это раскрывающееся меню, которое появляется, даже если вы вводите точку «.» В окне кода VB или окна редактора). Раскрывающийся список содержит список всех членов активной ссылки VB OBJECT MODEL (т. Е. Включает объекты, свойства, переменные)., методы и константы). Эта функция помогает сэкономить время и предотвратить ошибочные слова или опечатку.
  • Помимо End Sub, существует опция оператора Exit Sub между SUB и END SUB, которая вызывает или помогает вам немедленно выйти из процедуры Sub.

Рекомендуемые статьи

Это руководство по VBA SUB. Здесь мы обсудим, как использовать Excel VBA SUB вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Работа с VBA Active Cell
  2. Удаление строки в VBA
  3. Как использовать Excel VBA Transpose?
  4. Как исправить ошибку 1004 с помощью VBA

Категория: