Създаване на макроси и потребителски дефинирани функции на VBA

Всички ние имаме - някой по-малко, някой по-вероятно - да се повтаря същите действия и операции в Excel. Всеки офис работа включва някои "рутинна компонент" - същите седмични доклади, същите стъпки за обработка на данни, получени, попълване на повтарящи се таблици или форми и т.н. Използване на макроси и потребителски функции могат да автоматизират тези операции, преместване монотонен монотонната работа на раменете на Excel. Друга причина за използването на макроси в работата си може да е необходимо да се добавят в Microsoft Excel липсва, но функционалността ви трябва. За функция пример подробно събиране на данни с различни листа за един последен данни раздяла лист обратно, на изхода на суми думи и т.н.







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

По принцип, има голямо разнообразие от езици за програмиране (Pascal, Fortran, C ++, C #, Java, ASP, PHP.), Но за всички Microsoft Office Standard е само на вградения в VBA езикови програми. Владеене на езика означава всяка служба заявление, дали Excel, Word, Outlook или Access.

Създаване на макроси и потребителски дефинирани функции на VBA

  • Конвенционалните модула - се използват в по-голямата част от случаите, когато става въпрос за макроси. За създаването на такъв модул, изберете менюто Insert - Модул. В прозореца, който се появява нов празен модул може да влезе команди на VBA, пишете на клавиатурата, или като ги копирате от друг модул от този сайт или от някъде другаде:

Създаване на макроси и потребителски дефинирани функции на VBA

Създаване на макроси и потребителски дефинирани функции на VBA

Създаване на макроси и потребителски дефинирани функции на VBA

Нормално макро вмъква в стандартен модул изглежда така:

Създаване на макроси и потребителски дефинирани функции на VBA

Нека да разгледаме по-горе като пример за макро Zamena:

  • Всеки макро трябва да започва с Sub изявление. последвано от името на макроса и списък с аргументи (входните стойности) в скоби. Ако няма аргументи, скобите трябва да се оставят празни.
  • Всеки макро трябва да завършва с изявление End Sub.
  • Всичко, което е между Sub и End Sub - макро тяло, т.е. команди, за да бъде изпълнена, когато макроса се управлява. В този случай, макро клетъчни разпределя изпълва разпределени лента (подбор) жълто (код = 6) и след това вериги чрез всички клетки, замяна на стойности във формулата. В края на полето показва съобщение (MsgBox).

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

2. Запис на метод makrorekorderom макроси







  • Makrorekorder записи само тези дейности, които се извършват в рамките на прозореца на Microsoft Excel. Веднага след като затворите Excel или преминаване към друга програма - спиране на записването.
  • Makrorekorder може да записва само тези действия, за които има команда или бутона за меню в Excel. Програмистът може да напише макрос, който прави това, което никога не е било добро Excel (сортиране по цвят, например, или нещо подобно).
  • Ако по време на записване на макроси makrorekorderom направите грешка - грешка ще бъде записано. Въпреки това, можете спокойно да натиснете бутона, за да отмените последното действие (Undo) - по време на makrorekorderom макро рекордер е не само ви vozrvraschaet към предишно състояние, но също така изтрива последния регистриран команда за VBA.

За да започнете да записвате, трябва да:

След това е необходимо, за да изберете записания макрос в макроса прозорец Запис:

Създаване на макроси и потребителски дефинирани функции на VBA

  • Име на макрос - ще отговаря на всяко име на английски или руски език. Името трябва да започва с буква и да не може да съдържа интервали и препинателни знаци.
  • Ключови комбинация - тогава ще се използва за бързо стартира макроса. Ако сте пропуснали комбинацията или не влиза, макрос може да се управлява чрез Инструменти - Макро - Макроси - Run (Инструменти - Макро - Макроси - Run) или с помощта на макро бутона (макроси) в раздела за разработчици (Developer), или чрез натискане на ALT + F8.
  • Запазване. - тук можете да посочите мястото, където текст макроса ще бъде спасен, т.е. набор от команди към VBA, които съставляват макроса.:
    • Тази книга - макроса се запазва в сегашния книга модул и в резултат на това ще се пускат само толкова дълго, колкото книгата се отваря в Excel
    • Новата книга - макро съхранява в шаблон, върху която да създава нов празен книга на Excel, т.е. макро е включена във всички нови книги, които са създадени на компютъра от сега
    • Лично книга макро - специален Excel работна книга на име Personal.xls. който се използва като макро съхранение. Всички макроси Personal.xls заредени в паметта при стартиране на Excel, и може да се управлява по всяко време и във всяка книга.

След включване на запис и действията, които да бъдат записани, записът може да бъде спрян от командата Спиране на записа (Спиране на записа).

Стартиране и редактиране на макроси

Управление на всички налични макроси се извършва в прозорец, който може да бъде отворен с макро (макроси) на бутона в раздела за разработчици (Developer), или - в по-стари версии на Excel - чрез Инструменти - Макро - Макроси (Инструменти - Макро - макроси):

Създаване на макроси и потребителски дефинирани функции на VBA

Създаване на бутон, за да стартирате макроси

Не е да запомните клавишната комбинация, за да стартира макроса, по-добре е да се създаде един бутон и задайте желаната макроса. Бътън може да бъде от няколко типа:

я плъзнете в лентата с инструменти и след това кликнете върху десния бутон на мишката. В контекстното меню, можете да зададете макро бутона, промените иконата и името:

Щракнете с десния бутон върху лентата с инструменти за бърз достъп в горния ляв ъгъл на прозореца на Excel, и след това щракнете върху Customize Toolbar Бърз достъп (Customize Toolbar бърз достъп):

Създаване на макроси и потребителски дефинирани функции на VBA

Създаване на макроси и потребителски дефинирани функции на VBA

Този метод е подходящ за всяка версия на Excel. Ние ще добавим един бутон, за да стартирате макро директно върху лист като графичен обект. За да направите това:

Изберете бутона на обект (бутон):

Създаване на макроси и потребителски дефинирани функции на VBA

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

Създаване на потребителски дефинирани функции в VBA

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

Създаване на макроси и потребителски дефинирани функции на VBA

Създаване на макроси и потребителски дефинирани функции на VBA

След избора на връхната клетка на аргументите (със сумата, за която е необходимо да се изчисли ДДС) в случай на нормална функция:

Създаване на макроси и потребителски дефинирани функции на VBA