VBA подфункция

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

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

Нека да проверим, как да пишем подпроцедури в Excel VBA?

Основна структура на VBA Sub

Под (Процедура или име на задача) ()

(Каква задача трябва да се направи?)

Край Sub

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

Забележка: Sub може да взема аргументи, те не връщат резултати

Различни видове подпрограма в VBA (МОДИФИЕРИ НА ДОСТЪП)

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

Преди да знаете разликата между тях, трябва да сте наясно с „Ниво на достъп“, това е степен на способност за достъп до него. Public Sub е подобен на Sub, където Процедурата ви позволява да използвате процедурата или VBA код във всички модули на работната книга. като има предвид, че Private Sub процедура ви позволява да използвате процедурата или VBA код само в текущия модул. (Обяснено в примера)

Как да използвате субфункция в Excel VBA?

По-долу са различните примери за използване на Sub функция в Excel, използвайки VBA код.

Можете да изтеглите този шаблон на VBA Sub Excel тук - VBA Sub Excel шаблон

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

Стъпка 1: В раздела Developer кликнете върху Visual Basic в групата Code или можете да използвате клавишната комбинация Alt + F11

Стъпка 2: Сега можете да създадете празен модул, т.е. да щракнете с десния бутон върху Sheet1 (VBA_SUB), появяват се различни опции, в които изберете Вмъкване и под вмъкването, се появяват три опции, където трябва да изберете Модул, празният модул се създава, Можете да го преименувате като „VBA_SUB“ под прозореца на секцията със свойствата

Стъпка 3: Започнете с подпроцедура както следва и създайте код на VBA_SUB

Код:

 Sub VBA_SUB () Край Sub 

Стъпка 4: След като започнете да въвеждате диапазон, аргументът му се появява в скобите и кликнете върху клавиша раздела, за да го изберете. След като оставите интервал и въведете отворена скоба „(“, ще се появи аргумент CELLS, където трябва да въведете синтаксиса или аргумента за обхвата функция, т.е. „E5“

Да предположим, че искам SUBROUTINE да се появи в клетката "E5" За да се случи това, трябва да напиша = "SUBROUTINE" след функция на обхвата. и след това щракнете върху Enter.

Сега кодът е готов,

Код:

 Sub VBA_SUB () Обхват ("E5") = "SUB ROUTINE" Край Sub 

Стъпка 5: Сега можете да стартирате макроса, като щракнете върху бутона Run Sub (т.е. зелен бутон за игра) или натиснете F5 . Можете да наблюдавате „SUBROUTINE“ се появява в клетката „B4“

Подфункция 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 () Обхват ("H7") = "PUBLIC SUBROUTINE" Край Sub 

Стъпка 2: Когато пусна гореспоменатия код (Public sub task_1 ) в VBA_SUB модул, той връща стойността или резултата, т.е. текстовият низ „PUBLIC SUBROUTINE“ в клетката „H7“ на sheet1

Да предположим, че искам да пусна същия този код в новосъздадения модул, т.е. PUBLIC_SUB, тогава не е задължително да се запише целият код в този модул, просто споменавате името на макроса, т.е. call task_1, вместо функция за диапазон във втория ред на кода, ще получите същия изход или резултат, т.е. текстов низ „PUBLIC SUBROUTINE“ в клетката „H7“ на sheet2.

Код:

 Public Sub task_2 () Call task_1 End Sub 

Запазете вашата работна книга като „Работна книга с активирана макрос на Excel“. Когато отворите този Excel файл отново, можете да използвате по-долу споменатия клавиш за бърз достъп, т.е.

  • Функцията + Alt + F11 клавиш за бърз достъп ви помага да получите достъп до всички създадени макрокодове на работната книга
  • Функцията + Alt + F8 клавишът за бърз достъп ви помага да отворите диалогов прозорец „Макрос“, който съдържа цялото име на макрос, където можете да стартирате конкретен макро код по ваш избор

Неща, които трябва да запомните

  • Ако в началото на VBA функция, т.е. Sub декларация, не се споменава или вмъква ключова дума като PUBLIC или PRIVATE, тогава тя ще вземе предвид настройката по подразбиране „Public“ Sub.
  • Менюто Intellisense е падащото меню, което се появява дори когато въвеждате период „.“ В VB кода или прозореца на редактора) падащото меню съдържа списък на всички членове на активната референция на VB OBJECT MODEL (т.е. включва обекти, свойства, променливи, методи и константи). Тази функция помага за спестяване на време и предотвратява неправилно изписване на думите или грешка при печатане.
  • Освен End Sub, има опция за изход Sub оператор между SUB и END SUB, който причинява или ви помага при незабавен изход от процедура Sub.

Препоръчителни статии

Това е ръководство за VBA SUB. Тук обсъждаме как да използвате Excel VBA SUB, заедно с практически примери и шаблон за Excel, който можете да изтеглите. Можете да разгледате и другите ни предложени статии -

  1. Работа с VBA Active Cell
  2. Изтриване на ред в VBA
  3. Как да използвате Excel VBA Transpose?
  4. Как да поправите грешка 1004 при използване на VBA

Категория: