VBA Excel: Примери за програми. Макроси в Excel

Малко хора знаят, че първата версия на популярния продукт на Microsoft Excel се появява през 1985 година. Оттогава той е претърпял няколко модификации и се нуждае от милиони потребители по целия свят. В същото време много от тях работят само с малка част от възможностите на този процесор за таблици и дори не предполагат как биха могли да улеснят живота на уменията за програмиране в Excel.

Какво е VBA

Програмирането в Excel се извършва с помощта на езика за програмиране Visual Basic for Application, вграден в най-известния Microsoft процесор за таблици. В негова полза експертите приписват сравнителната лекота на развитие. Както показва практиката, дори потребителите, които нямат професионални умения за програмиране, могат да научат основите на VBA. Функциите на VBA включват изпълнение на скрипт в среда на офис приложения.


Недостатъците на програмата са проблемите, свързани с съвместимостта на различните версии. Те се дължат на факта, че програмният код на VBA се отнася до функционалността, която присъства в новата версия на продукта, но не и в старата версия. Също така, недостатъците включват прекалено висока отвореност на кода за промяна на трета страна. Въпреки това Microsoft Office, както и IBM Lotus Symphony позволяват на потребителя да прилага шифроване на изходния код и настройка на парола, за да го види.

Обекти, колекции, свойства и методи

Именно с тези концепции трябва да се обърне внимание на онези, които ще работят в средата на VBA. Първо, трябва да разберете какво представлява един обект. В Excel, в този капацитетПисмо, книга, клетка и акт. Тези обекти имат специална йерархия, т.е. те са подчинени един на друг.


Основното е приложението, съответстващо на самата програма на Excel. След това следвайте работни книги, работни листове и обхват. Например, за да препратите към А1 на отделен лист, трябва да укажете път, основан на йерархията. Що се отнася до понятието "събиране", то това е група от обекти от същия клас, които в бележката приличат на ChartObjects. Неговите отделни елементи също са обекти. Следващата концепция е свойствата. Те са необходима характеристика на всеки обект. Например за обхват - е стойност или формула. Методите са екипи, които показват какво да правят. Когато пишете VBA кода, те трябва да бъдат отделени от обекта с точка. Например, както ще бъде показано по-късно, много често при използване на Excel, използвайте командата Cells
. Това означава, че трябва да изберете клетка с координати
, т.е. A1. Заедно с нея често се използва Selection.ClearContents. Изпълнението му означава почистване на съдържанието на избраната клетка.

Как да започнете

Първо, трябва да създадете файл и да го запишете, като определите името и изберете типа на "Excel Book с поддръжка на макроси". След това трябва да отидете на приложението VB, което е достатъчно, за да използвате комбинацията от клавиши "Alt" и "F11". Следваща:
  • В лентата с менюта, намираща се в горната част на прозореца, кликнете върху иконата до иконата на Excel;
  • изберете командата Mudule;
  • се съхраняват чрез щракване върху иконата с изображението на дискета;
  • напишете, да речем, очертанията на кода.
  • Изглежда така:
    Подпрограма () „Нашият код Край Под Моля, имайте предвид, че редът„ Нашият код ”ще бъде маркиран в различен цвят (зелен). Причината за поставянето на апостроф в началото на реда, което означава, че следва коментарът. Сега можете да напишете всеки код и да създадете нов инструмент за VBA Excel (пример за програми вижте по-долу). Разбира се, тези, които са запознати с основите на Visual Basic ще бъдат много по-лесни. Но дори и тези, които нямат такива, ако желаят, ще могат бързо да свикнат.

    Макроси в Excel

    Това име скрива програми, написани на езика Visual Basic for Application. Така, програмирането в Excel е създаването на макроси с необходимия код. С тази възможност Microsoft табличният процесор се развива самостоятелно и се адаптира към нуждите на конкретен потребител. Като разберете как да създадете модули за писане на макроси, можете да започнете да обмисляте конкретни примери на програми на VBA Excel. Най-добре е да започнете с най-елементарните кодове.

    Пример 1

    Задача: напишете програма, която ще копира стойностите на съдържанието на една клетка и след това напишете на друга. За да направите това:
  • отворете раздела "Преглед";
  • отидете на иконата "Макроси";
  • натиснете върху "Записващ макрос";
  • попълнете отворен формуляр.
  • За простота, в полето "Macro Name", оставете "Macro1", а в полето "Keyboard shortcuts", например, се вмъква hh (това означава, че можете да стартирате програмата с командата "Ctrl + h"). Натиснете Enter. Сега, когато макро записът вече работи, те копират съдържанието на всяка клетка в друга. Върнете се към оригиналната икона. Кликнете върху"Запис на макроси". Това действие означава завършване на програмата. Следваща:
  • Върнете се към реда "Макроси";
  • в списъка изберете "Макрос 1";
  • натиснете "Run" (същото действие се задейства от началото на клавишната комбинация Ctrl + hh).
  • В резултат на това в процеса на писане на макрос се предприема действие.
    Има смисъл да се види как изглежда кодът. За да направите това, върнете се в реда „Макроси“ и кликнете върху „Промяна“ или „Влизане“. В резултат на това те са в средата на VBA. Всъщност самият макрокод се намира между редовете Sub Macro1 () End Sub. Ако копирането е извършено, например, от клетка A1 в клетка C1, тогава една от линиите на кода ще изглежда като Range ("C1"). В превод тя прилича на "Диапазон C1"). Изберете ", с други думи, той мигрира във VBA Excel до клетка C1. Активната част от кода завършва командата ActiveSheet.Paste, което означава, че съдържанието на избраната клетка (в този случай, A1) е записано на Избрана клетка C1

    Пример 2

    VBA циклите помагат за създаване на различни макроси в Excel.VBA циклите помагат за създаването на различни макроси.Предполагаме, че има функция y = x + x 2 + 3x 3 - cos (x). Можете да направите това само с помощта на VBA цикъл.За началните и крайните стойности на аргумента функции вземат x1 = 0 и x2 = 10. В допълнение, трябва да въведете константа - стойността на стъпката на промяна на аргумента и първоначалната стойност на брояча.Всички примери на макроси VBA Excel са създадени в същата процедура както по-горе.В този конкретен случай, кодът изглежда така: Подпрограма () x1 = 1 x2 = 10 shag = 0.1 i = 1 Докато x1

    Свързани публикации