Какво е VBA? Екранният език на Excel

Ако някога сте използвали макроси в Excel, сте използвали Visual Basic for Applications (VBA). VBA е четим от човека (и редактируем) програмен код, който се генерира, когато записвате макрос. Когато стартирате макрос, този код Excel чете, за да възпроизведе вашите действия.

Следва поредица от често задавани въпроси за VBA, с отговори както за новодошлите в Excel макроси, така и за опитни програмисти.

За какво се използва VBA в Excel?

VBA се използва за писане на макроси, които автоматизират прости и сложни задачи в Excel.

Потребителите на Microsoft Excel често ще се оказват да повтарят една и съща поредица от задачи отново и отново. Понякога това са незначителни задачи като копиране на подмножества от данни в различни листове, а понякога задачите са по-сложни като качване на данни на уебсайт. С VBA макросите могат да бъдат програмирани да автоматизират задачи като тези, превръщайки поредица от ръчни операции в едно щракване с бутон.

Как да започна с VBA в Excel?

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

За повече информация вижте статията „Как да запишете макрос“.

Как мога да получа достъп до VBA код?

Редакторът VBA може да бъде отворен по всяко време, като натиснете ALT+F11 клавишна комбинация. От тук можете да получите достъп до кода за всички отворени работни книги.

Можете да щракнете двукратно върху всяка работна книга, лист или обект на модул в Проект прозорец, за да покаже VBA кода, съдържащ се в него. Записаните макроси винаги ще се появяват в модули, където обикновено искате да напишете и свои собствени макроси.

За повече информация относно редактирането на макроси вижте статията „Редактиране на Excel VBA макроси“.

Какво може да направи VBA?

Преди всичко: ако можете да направите нещо в Excel, можете да напишете VBA код, за да направите същото. Ако научите командите (с помощта на макрорекордера или онлайн ресурсите), можете да нанижете заедно няколко действия заедно в един макрос.

Второ: можете да използвате VBA за писане на дефинирани от потребителя функции за използване във формули на работен лист - подобно на функцията „= SUM ()“ например. Въпреки че Excel вече съдържа голямо разнообразие от функции, ако откриете, че искате функция, която е по -специфична за вашата индустрия или работно място, можете да я добавите с VBA.

Трето: можете да използвате VBA, за да добавите логика (If изрази) и цикли (повтарящи се действия) към вашите макроси. Това означава, че макросът може да бъде нещо повече от запис на действия - може да бъде истинска програма с интелигентно повторение и вземане на решения.

Четвърто: VBA ви позволява да изграждате потребителски интерфейси, като дава на потребителите по -лесен начин да взаимодействат с вашите макроси. Тези интерфейси могат да бъдат прости бутони на работен лист или сложни потребителски форми с богати контроли като TreeViews и FlexGrids.

(Вижте статията „Добавяне на бутон и задаване на макрос в Excel“ като отправна точка.)

Пети, но не окончателно: VBA ви позволява да използвате почти всеки ресурс на вашия компютър или интернет, като използвате външни DLL библиотеки. Можете да автоматизирате много повече от Excel по този начин, като достъп до уеб услуги и бази данни, анализиране на XML файлове, взаимодействие с други приложения на Microsoft Office и много, много повече.

Същите ли са VB и VBA?

Езикът VBA е идентичен с Visual Basic 6.0. Ако имате опит с писането на VB6 код, можете да напишете VBA.

VB Editor в Excel е съкратена версия на редактора VB6, с подобни възможности за отстраняване на грешки и компоненти като прозорците „Project“ и „Properties“. Редакторът на формуляри също е много подобен, въпреки че има някои ограничения (като невъзможността за създаване на контролни масиви).

По -малко подобен на VBA е Visual Basic .NET. Въпреки че тези езици споделят много от едни и същи ключови думи и синтаксиси, кодът между тези езици е по -малко оперативно съвместим. Не би трябвало да пренаписвате много (ако има нещо), за да прехвърлите процедура от VB6 към VBA, но не бихте могли да направите същото от VB.NET.

Каква е разликата между макрос и VBA?

VBA е само езикът, с който се пишат макроси. Ако вашият макрос е история, VBA е граматиката и речникът, с който е написан.

Каква е разликата между макрос и скрипт?

Скриптовете използват ограничено подмножество от езика на Visual Basic и се използват за различни цели.

Макросите се съхраняват във файлове на работната книга на Excel и могат да се изпълняват само от вътре в Excel. Те обикновено се използват за автоматизиране на различни функции на Excel и добавяне на допълнителна функционалност към работните книги.

Скриптите се съхраняват в текстови файлове с помощта на разширението .VBS и могат да се изпълняват от Windows или да се изпълняват от други програми. Sysadmins ще използва скриптове за автоматизиране на определени административни задачи на компютър или мрежа.

Какво прави VBA Developer?

Често хората, които създават макроси, не са разработчици - те са анализатори, търговци, счетоводители или учени, които са преминали обучение по програмиране и използват VBA на по -специална основа.

Хората, които се фокусират върху развитието на VBA, са склонни да създават по -усъвършенствани инструменти - те създават добавки, потребителски интерфейси с формуляри, интерактивни табла за управление, генератори на отчети и др.

Защо VBA е важен?

VBA е включен като стандарт във всички приложения на Microsoft Office, включително Excel. Excel е една от най-популярните програми в света и намира приложение в голямо разнообразие от области и работни места, всички със свои уникални работни процеси и случаи на използване.

Като не използват автоматизация, безброй работни часове се губят всяка седмица, изпълнявайки скучни повтарящи се задачи с човешка скорост. Автоматизацията с VBA може да изпълнява същите задачи с бързи темпове на компютъра, позволявайки на потребителите да се съсредоточат върху важните аспекти на работата си, да бъдат по -продуктивни - и може би да излязат от офиса малко по -рано!

VBA добър език за програмиране ли е?

VBA има типичните програмни елементи като променливи, масиви, функции, решения и цикли. Той има синтаксис, който е лесен за четене и може да използва много енергия от Windows и други услуги.

От друга страна, обработката на грешки не е много елегантна във VBA. Докато другите езици използват кодови блокове „try-catch-окончателно“, VBA използва инструкции „On Error“ за промяна на поведението на макросите при възникване на грешка.

Освен това VBA не може да се използва за създаване на самостоятелни програми, уеб сайтове или услуги и не може да взаимодейства с по -нови програмни интерфейси за програмиране като .NET платформата.

Обектно-ориентиран ли е VBA?

VBA има ограничена поддръжка за някои обектно-ориентирани концепции:

  • Инкапсулиране: VBA поддържа скриване на данни с помощта на класове
  • Полиморфизъм: ключовата дума Implements позволява на програмистите да използват други класове като интерфейси

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

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave