Първи стъпки с VBA в Excel 2018
VBA работи чрез изпълняване на макроси. стъпка процедури, написани на Visual Basic. обучение за програмиране може да изглежда обезсърчително, но с малко търпение и с помощта на няколко примера, като тези, показани в тази статия, много потребители намират, че овладяването на дори малки в VBA умения за програмиране дава възможност да извършва действия, които по-рано се видяха невъзможно да Office. Овладяването на някои функции на VBA опростява разработването на следващия - така предоставя неограничени възможности.
Във всеки случай, потребителят не може да има, за да изпълните тези стъпки, ръчно, поне не повече от няколко пъти. Вместо това, можете да автоматизирате задачи с помощта на VBA, за да напишете изрични инструкции да бъдат изпълнени Excel.
Използване на кода за тичане операции
Програмируеми обекти са свързани помежду си в йерархия, наречена модел обект на заявлението. Грубо казано, модела на обекта отразява това, което се показва в потребителския интерфейс, например, обект модел Excel съдържа, наред с много други предмети за кандидатстване. Работна книга. Лист и Chart. Моделът на обект е често срещано приложения карти и неговите възможности.
Имоти и методи
Управлявани обекти могат да се задават техните свойства и методи за тяхното причиняване. Задача имот променя някои качество на обекта. метод разговор причините за обекта за извършване на някакво действие. Например, една работна книга обект има метод Close. затваряне на книгата и ActiveSheet имота. представляващ лист е активна в момента в книгата.
Много съоръжения са на разположение във версии единствено и множествено число - работна книга и работни книги, Работен лист и работни листове и др множествено число се нарича колекции ... Обекти колекции се използват за извършване на действия по събиране на множество обекти. По-късно в тази статия се обсъжда как да се използва за събиране на работни листове за промяна на името на всяка книга, лист.
Tab "Разработчик"
Разрешаването на раздела "Разработчик"
В раздела Файл щракнете върху Опции. , за да отворите диалоговия прозорец Опции на Excel за.
Щракнете върху Персонализиране на лентата в лявата част на диалоговия прозорец.
В Изберете команди от. Намира се в левия прозорец, изберете екип Top.
В Customize лентата. който е вдясно в диалоговия прозорец, изберете Main раздела. и след това изберете Developer.
Щракнете върху OK.
Когато раздела за разработчици в интерфейса са Excel, имайте предвид разположението на бутоните на Visual Basic раздела. Макро и Macro Security.
проблеми със сигурността
Кликнете Macro Security. да се определи кои макроси могат да работят и при какви условия. Въпреки, че неконтролираното макро код може сериозно да повреди компютъра ви, условия за сигурност, които забраняват извършване на полезни макроси, може сериозно да намалят качеството на работата. Macro Security - е сложен и важен въпрос, който е необходимо да се разбере, когато се работи с макроси в Excel.
За целите на тази статия, не забравяйте, че ако отворите работна книга, която съдържа макрос, с предупреждение за сигурността ред се появява между лентата и листа: изключени макроси. можете да кликнете върху Активиране на съдържание. да се даде възможност на макроса.
В допълнение, като обезпечение, не можете да запишете макрос в Excel файлов формат, използван по подразбиране (XLSX-файлове), вместо на макроса трябва да се съхранява в специална файлово разширение, XLSM-файл.
Следващата процедура показва как да създадете нова празна работна книга, в която се съхраняват макроси. След това можете да запишете тази книга XLSM-файлов формат.
Създаване на нова празна работна книга
Натиснете бутона макро на "Разработчик" в раздела
В диалоговия прозорец Macro, въведете Hello в името на полето за Macro.
Върнете се в раздела за разработчици в Excel, и след това натиснете бутона отново макро.
Изберете Здравейте макроса в списъка, който се появява, щракнете върху Изпълни. за да се покаже малък прозорец със съобщение, което съдържа текста "Hello, свят!".
Той току-що е създаден и започна обичай VBA код в Excel. Щракнете върху OK в прозореца на съобщението за да го затворите и приключи изготвянето на макроса.
Ако съобщението не се появи, проверете макро настройките за сигурност и да рестартирате Excel.
Осигуряване на достъп до макроси
Open Macro диалоговия може да бъде и от раздела View. но честото използване на макроси може да е по-удобно да го наричат с бързи клавиши или бутони за бърз достъп панел.
За да създадете бутон за макроса Здравейте на лентата с инструменти за бърз достъп. Използвайте следната процедура.
Следната процедура описва как да създадете бутон за макрос в лентата с инструменти за бърз достъп.
Създаване на бутон за макрос в лентата с инструменти за бърз достъп
Щракнете върху раздела Файл.
Щракнете върху бутона Options. , за да отворите диалоговия прозорец Опции на Excel за. и след това кликнете върху Quick Toolbar Access.
В списъка под Изберете команди от изберете Macro. Търсене на текст, подобен на Book1! Здравейте. в списъка, който се появява и изберете този текст.
Кликнете върху Добавяне >>. За да добавите макро към списъка от дясната страна, а след това щракнете върху Промени .... бутон, за да изберете изображение, свържете с макроса.
Щракнете върху OK. Нов бутон трябва да се появи в лентата с инструменти за бърз достъп над раздела Файл.
Сега можете бързо да стартира макроса по всяко време, без да се прибягва до раздела за разработчици - опитайте.
Да предположим, че има една книга, съдържаща списъци на снимачната площадка на листа и се наложи да промените името на всеки лист в съответствие с титлата на списък на листа. Не всеки списък съдържа списък, но ако има списък, заглавието му е в клетка B1, и ако няма списък, клетка В1 е празен. Имената на отчета, без списъци не трябва да се променят.
Връзка обекти
Фигура 3. Excel Object Model Справка за MSDN
Първата стъпка - да се разбере как да управляват специфични предмети, трябва да се реши проблема, като например листа, имена на лист, клетки и съдържанието на клетка. В Excel, има най-малко два начина за решаване на този проблем:
Директно използване на насоки относно модела на обекта.
Избраният подход зависи от личните предпочитания, но в този случай, първо се опитайте да използвате макро запис.
Използване на Macro Recorder
Понякога всичко, което е необходимо - просто записвате макрос, в този случай дори не е необходимо, за да видите кода. Но повечето записи не са достатъчни. Но рекорд отправна точка е следващия процес.
С помощта на макро запис като отправна точка решения
Запишете действията, които трябва да се кодира.
Премахване на останалата част от кода.
Промяна на записан код.
Добави променливите, контролни структури, както и друга код, който не могат да се записват при записване на макрос.
Започнете вашето изследване с макро рекордер, който се променя името на лист за новото име. След това можете да използвате записаните макроса да създадете потребителски макрос, за да преименувате множество листове на базата на тяхното съдържание.
Макро запис, преименуване лист
Кликнете Record Macro в раздела за разработчици.
Обадете RenameWorksheets макро. преименуване Sheet1 до ново име и след това кликнете върху Спиране на записа.
Следващият ред използва Изберете метод. за да изберете член на Sheet1 (Sheet1) събиране листове обект. Кодът VBA обикновено не е необходимо да избирате обекти, преди да работите с тях, дори и ако това е направено с записването на макроси. С други думи, този ред на кода е излишен, така че това също може да бъде отстранен.
Последният ред на записания макрос променя собствеността "Name" Sheet1 член на колекцията листове. Тази линия, за да спаси.
След извършване на промени в записания код трябва да изглежда така.
Изпълнение на код за книгата, съдържаща листове с празна клетка В1, води до грешка, тъй като стойността на празната лента Value Range е настроен на "" (празен низ), което не е валидно име на лист. Време е да се създаде някои примерни данни. Вземете три листа от книги, подобни на тези, показани на следващата фигура, а след това стартира макроса.
Фигура 4. Пример на данни за макро RenameWorksheets
Имена на листа ще се променят съответно.
Проверете празни клетки
Както беше отбелязано по-рано, макро резултатите в грешка, ако някое от клетка В1 на книгата е празна. Вместо ръчно проверка на всяка лист е възможно да се програмира макро, така че тези действия са извършени в нея. Преди линията myWorksheet.Name да добавите следния ред код.
отличителни знаци <> означава "не равни", както и в кавички с нищо между тях, представляват един празен текстов низ, тогава е налице пълна липса на текст. Следователно, всички линии на код между тогава и Енд Ако се изпълняват само ако стойността в клетка В1 не е празна, а именно, когато клетка В1 съдържа текста.
За повече информация относно изявлението Ако ... Тогава видя. В наръчника на VBA език. (Пълното име на раздела - "Ако ... Тогава ... Иначе изявление" (Ако ръчно ... Тогава ... Else), къде другаде -. Е незадължителен компонент)
За да изпробвате макро, преименувате листа обратно в Sheet1. Sheet2 и Sheet3 и изтриете съдържанието на клетка В1 по един или няколко листа. Следвайте макроса за да се провери, че тя се преименува листовете с текста в клетка B1, и оставя непокътнати останалите листове. Макросът работи за произволен брой листа, с който и да е комбинация от пълни и празни B1 клетки.
Значението на отварянето
Един добър начин да научите програмиране като цяло и по-специално Excel VBA е стратегия, в която за първи път имате нужда от нещо, за да се опита да я накара да работи, а след това си задайте въпроса, като например следното:
Какво можете да опитате отново?
Това, което трябва да се научи първо да използвате VBA, колкото е необходимо?
Какво може да бъде по-забавно или интересно да се знае?
Какво друго може да бъде интересно?
желание на читателя да се знае кои пътища да доведе до знание, поощрява.
Това е често срещан програмен модел в VBA. На първо място, тя създава един обект, който се присвоява на променливата, а след това да извърши действие, със структурата на обекта се използва с ... край с. код например диаграма показва данните, използвани като текущия избор. (Избор - Този метод Източник SetSourceData стойност, отколкото стойността на обекта го изисква синтаксис VBA се използва за определяне на стойностите на дебелото черво и знак за равенство (=), вместо просто знак за равенство (=).).
Въведете някои цифри в клетки A1: A5, изберете клетките и след това стартира макроса. Графиката се отваря като стълбовидна, който е стандартен вид.
Фигура 5 Лентова диаграма, създаден с VBA
Ако хистограмата не е подходяща, можете да промените типа на диаграмата, като се използва код, подобен на следното.
xlPie - е пример за вградената константи, наричана също номерираните тип константа. В Excel, много от тези константи, и всички те са напълно документиран. За повече информация относно вградени константи, вижте. Раздел "изброявания" (превод) на ръководство по модела на обекта. Например, константите за видовете структура са изброени в "XlChartType Преброяване" (прехвърляне XlChartType).
Уверете се, че клетките A1: A5 все още избрани, въведете номера в полето за въвеждане, а след това натиснете ОК. Кодът спестява и затваря книгата. Отворете го отново и обръщат внимание на промените в кръговата диаграма.
персонализирани форми
Въведение в Excel VBA е завършен в този раздел кратък преглед на потребителски форми.
Ще има два прозореца. Един от тях е да се създаде потребителски форма, а от друга страна, кутията с инструменти. То показва на различните видове контрол, които могат да бъдат добавени към персонализирана форма, като командни бутони, бутони за избор квадратчета, и така нататък. Д. За да видите типа на управляващ елемент генерира Toolbox. мишката е.
Отваря подпрограма. Това е процедурата по скелет събитие. извършва при настъпване на определено събитие. В този случай, както Под името на подпрограмата. събитие, което предизвиква кода на събитието е бутона Click CommandButton1. Добави процедурата за събитие в следващия ред.