Разлика между подпрограма & Функция в Excel VBA

  • Споделя Това
Hugh West

Има много прилики между потребителска функция/функция, дефинирана от потребителя процедурата и Подпроцедура/подпрограма в Excel ... Въпреки това, Функция Процедурите имат някои важни разлики от Подпрограма В тази статия ще видим разликата между подпрограма и функция в Excel VBA .

Изтегляне на работна тетрадка за практика

Можете да изтеглите работната тетрадка за упражнения от тук.

Подпрограма и функция.xlsm

Въведение в подпрограма & Функция в Excel VBA

Най-важната разлика е, че функцията връща стойност (число или текстов низ). Стойността на процедурата на функцията се съхранява в променлива; променлива, чието име е същото като името на функцията. Подпрограмата изпълнява някакъв набор от задачи и не връща стойност като функциите.

1. Дефинирана от потребителя функция на Excel VBA

Вижте следния пример. AddTwoNumber е името на функцията. Тази функция ще върне сумата на две числа, подадени като аргументи ( Арг1 и аргумент2 ). Сумата се съхранява в променлива с име AddTwoNumber същото като името на функцията.

Функция AddTwoNumber VBA

За да създадете потребителска функция, следвайте следните стъпки:

  • Първо, активирайте Редактор VBA като натиснете Alt+F11 .
  • Второ, изберете работната книга в Проект прозорец.
  • Трето, изберете Вмъкване на и след това Модул за вмъкване на VBA Можете също така да използвате съществуващ модул за код. Модулът за код трябва да бъде стандартен VBA модул.

  • След това копирайте и поставете посочения по-долу код за функцията. Името на функцията трябва да е уникално за тази работна книга. Въведете списък с аргументите (ако има такива) в скоби. Ако функцията не използва аргумент, в списъка с аргументи се изписва Редактор VBA добавя набор от празни скоби.
 Функция AddTwoNumber(arg1, arg2) 'Връща сумата на двете числа, които сте подали като аргументи AddTwoNumber = arg1 + arg2 End Function 
  • Освен това тази част е важна. Вмъкнете VBA Стойността, която искате да върнете от тази функция, ще бъде съхранена в променлива; променлива, чието име е същото като името на функцията.
  • Накрая завършете функцията с Край на функцията .

Прочетете още: Как да използваме функцията, дефинирана от потребителя във VBA (4 подходящи примера)

Подобни четива

  • 22 примера за макроси в Excel VBA
  • 20 практични съвета за кодиране за овладяване на Excel VBA
  • Как да пишем VBA код в Excel (с лесни стъпки)
  • Видове макроси VBA в Excel (кратко ръководство)

2. Excel VBA подпрограма

В следващия пример ще видите как подпрограмата в Excel VBA работи. Тук Под Името на подпрограмата е square_root. В тялото на подпрограмата изпълняваме една задача в клетката A2 Задачата е да се извърши квадратен корен в клетката A2 . Това означава, че ако клетката съдържа някакво число, Excel VBA ще извърши квадратния корен на тази клетка. Край на Sub завършва тялото на подпрограмата.

За да създадете подпрограма, следвайте следните стъпки:

  • Първо, активирайте Редактор VB (натиснете Alt+F11 ).
  • Второ, изберете работната книга в Проект прозорец.
  • Трето, изберете Вмъкване на и след това Модул за да вмъкнете модул VBA. Можете също така да използвате съществуващ модул за код. Модулът за код трябва да бъде стандартен модул VBA.

  • След това въведете ключовата дума SUB последвано от името на подпрограмата.
  • Освен това вмъкнете VBA код, който искате да извършите.
 Sub square_root() Range("C5").Value = Range("C4").Value ^ (1 / 2) End Sub 
  • И накрая, подпрограмата с Край на Sub .

Основни разлики между подпрограма & Функция в Excel VBA

След като изпълним подпрограмата и функциите поотделно, можем да заключим разликите в таблицата по-долу.

Функции Подпрограми
1) Връща стойност. 1) Изпълнява набор от задачи, но не връща стойност.
2) Функциите се извикват с помощта на променлива. 2) Могат да бъдат извикани от всяка точка на програмата в няколко вида след декларацията.
3) Могат да се използват като формули в електронните таблици. 3) Не могат да се използват директно в електронните таблици като формули.
4) Можем да използваме функциите като формули в електронните таблици. Можем да ги изпълняваме няколко пъти, след като стартираме кода. 4) За да намерим резултата от подпрограмата Excel VBA, първо трябва да вмъкнем стойност в желаната клетка.
5) Синтаксис:

Функция Function_Name()

/Набор от кодове

Край на функцията

5) Синтаксис:

Sub Sub_Name ()

/Набор от кодове

Край на Sub

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

  • Разработчикът раздел трябва да бъде активирана, преди да използвате тези методи.
  • Можем да намерим Подпрограма в Макроси в Разработчик докато дефинираните от потребителя функции в Функция използване на персонализирано търсене.

Заключение

Ако все още се затруднявате с някоя от тези инструкции или имате несъответствия, уведомете ни в коментарите. Нашият екип е готов да отговори на всичките ви въпроси. За всякакви проблеми, свързани с Excel, можете да посетите нашия уебсайт ExcelWIKI за решения.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.