Как да отворите и използвате редактора на Visual Basic в Excel

Как да отворите и използвате редактора на Visual Basic в Excel

Първата стъпка в използването на VBA в Excel е да се запознаете с редактора на Visual Basic (известен също като VBA редактор или VB редактор).

В този урок ще покрия всичко, което трябва да знаете за VBA редактора, както и някои полезни опции, които трябва да знаете, когато кодирате в Excel VBA.

Съдържание

Какво представлява редакторът на Visual Basic в Excel?

Редакторът на Visual Basic е отделно приложение, което е част от Excel и се отваря всеки път, когато отворите работна книга на Excel.По подразбиране е скрит, за да получите достъп до него, трябва да го активирате.

VB редакторът е мястото, където се записва VB кодът.

Можете да получите код във VB редактора по няколко начина:

  1. Когато записвате макрос, той автоматично създава нов модул във VB редактора и вмъква кода в този модул.
  2. Можете ръчно да въведете VB код във VB редактора.
  3. Можете да копирате код от други работни книги или интернет и да го поставите в редактора на VB.

Отворете VB редактора

Има няколко начина да отворите редактора на Visual Basic в Excel:

  1. Използвайте клавишни комбинации (най-лесно, най-бързо)
  2. Използвайте раздела за програмисти.
  3. Използвайте раздели на работния лист.

Нека да разгледаме набързо всеки един.

Клавишна комбинация за отваряне на редактора на Visual Basic

Най-лесният начин да отворите редактора на Visual Basic е да използвате клавишна комбинация – ALT + F11(Задръжте натиснат клавиш ALT и натиснете клавиша F11).

Свързани въпроси  Как да преименувате работни листове в Excel (4 лесни начина + преки пътища)

След като направите това, той ще отвори отделен прозорец за редактора на Visual Basic.

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

Клавишите за бърз достъп за версията за Mac саOpt+F11Fn + Opt + F11

Използвайте раздела за програмисти

За да отворите редактора на Visual Basic от лентата:

  1. Кликнете върху раздела „Разработчик“ (ако не виждате раздела „Разработчик“, прочетете как да го получите).
  2. В кодовата група щракнете върху Visual Basic.

Бутон на редактора на Visual Basic в лентата

Използвайте раздели на работния лист

Това е по-малко използван начин за отваряне на Vb редактора.

Отидете на всеки раздел на лист, щракнете с десния бутон и изберете Преглед на кода.

Вижте кода, за да отворите VB редактора

Този метод не само отваря VB редактора, но и ви отвежда до прозореца с код за този листов обект.

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

Анатомия на редактора на Visual Basic в Excel

Когато за първи път отворите VB редактора, може да ви се стори малко непосилно.

Има различни опции и секции, които в началото може да изглеждат съвсем нови.

Освен това той все още има стария 97-дневен вид на Excel.Докато Excel се е подобрил много в дизайна и използваемостта през годините, външният вид на VB редактора не се е променил по никакъв начин.

В този раздел ще ви преведа през различните части на приложението Visual Basic Editor.

ЗАБЕЛЕЖКА: Когато започнах да използвам VBA преди няколко години, бях затрупан от всички тези нови опции и прозорци.Но когато свикнете с VBA, ще сте доволни от повечето от него.През повечето време не е нужно да използвате всички опции, само една ръка.

По-долу са изображения на различните компоненти на VB редактора.След това те са описани подробно в следващите раздели на този урок.

Различни части на VB редактора в Excel

Сега нека да разгледаме набързо всеки компонент и да видим какво прави:

Лента с менюта

Тук са всички опции, които можете да използвате във VB редактора.Той е подобен на лентата на Excel, където всеки раздел има раздели и опции.

Можете да разгледате наличните опции, като щракнете върху всеки елемент от менюто.

Ще забележите клавишни комбинации, споменати до повечето опции в редактора на VB.Използването на VB редактора става много лесно, след като свикнете с някои клавишни комбинации.

лента с инструменти

По подразбиране VB редакторът има лента с инструменти с някои полезни опции, които може да са ви необходими най-често.Това е като лентата с инструменти за бърз достъп в Excel.Той ви дава бърз достъп до някои полезни опции.

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

Добавяне или премахване на опции от лентата с инструменти

В повечето случаи се нуждаете само от лентата с инструменти по подразбиране, когато използвате VB редактора.

Можете да преместите лентата с инструменти над лентата с менюта, като щракнете върху трите сиви точки (в началото на лентата с инструменти) и ги плъзнете над лентата с менюта.

Забележка: В редактора на VB има четири ленти с инструменти - Standard, Debug, Edit и UserForm.Това, което виждате на изображението по-горе (а също и по подразбиране), е стандартната лента с инструменти.Можете да получите достъп до други ленти с инструменти, като отидете на опцията View и задържите курсора на мишката върху опцията Toolbars.Ако желаете, можете да добавите една или повече ленти с инструменти към VB редактора.

Браузър на проекти

Project Explorer е прозорец отляво, който показва всички обекти, отворени в момента в Excel.

Когато използвате Excel, всяка отворена работна книга или добавка е проект.Всеки от тези елементи може да съдържа набор от обекти.

Например, в изображението по-долу Project Explorer показва две отворени работни книги (Book1 и Book2) и обектите във всяка работна книга (работни листове, ThisWorkbook и модули в Book1).

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

Project Explorer в Excel VBA Editor

Следните обекти могат да бъдат част от Project Explorer:

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

Мислете за Project Explorer като място за преглед на всички обекти, отворени в Excel в даден момент.

Клавишната комбинация за отваряне на Project Explorer еКонтрол + R(Задръжте клавиша за управление, след това натиснете R).За да го затворите, просто щракнете върху иконата за затваряне в горния десен ъгъл на прозореца на Project Explorer.

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

Прозорец със свойства

Прозорецът Properties е мястото, където можете да видите свойствата на избрания обект.Ако все още нямате прозореца Properties, можете да използвате клавишната комбинация F4 (или да отидете в раздела View и да щракнете върху прозореца Properties), за да го получите.

Свързани въпроси  Как да премахнете форматирането на клетки (от всички, празни, конкретни клетки) в Excel

Прозорецът Properties е плаващ прозорец, който можете да закачите в редактора на VB.В примера по-долу съм го закачил под Project Explorer.

Прозорецът със свойства е закачен под Project Explorer

Прозорецът със свойства ни позволява да променим свойствата на избрания обект.Например, ако искам листът да бъде скрит (или много скрит), мога да го направя, като променя свойството Visible на избрания обект на лист.

Променете видимото свойство на работен лист в прозореца със свойства

кодов прозорец

Всеки обект, изброен в Project Explorer, има прозорец с код.Можете да отворите кодовия прозорец на обект, като щракнете двукратно върху обекта в областта Project Explorer.

Кодовият прозорец е мястото, където пишете код или копирате и поставяте код от другаде.

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

Незабавен прозорец

Незабавният прозорец се използва главно за отстраняване на грешки в код.Един от начините да използвам Immediate Window е да използвам израза Print.Debug в моя код и след това да стартирам кода.

Помага ми да отстраня грешки в кода си и да идентифицирам къде е заседнал кодът ми.Ако получа резултата от Print.Debug в Immediate Window, знам, че кодът е валиден поне до този ред.

Ако сте нов в кодирането на VBA, може да отнеме известно време за отстраняване на грешки с помощта на прозореца Immediate.

По подразбиране непосредственият прозорец не се вижда в редактора на VB.Можете да използвате клавишната комбинация Control + G, за да го получите (или можете да отидете в раздела Изглед и да щракнете върху Незабавен прозорец).

Къде да добавя код във VB редактора

Надявам се, че сега имате основно разбиране за това какво представлява VB редакторът и всички негови части.

В тази част от урока ще ви покажа къде да добавите VBA код в редактора на Visual Basic.

Има две места за добавяне на VBA код в Excel:

  1. Кодов прозорец на обекта.Тези обекти могат да бъдат работни книги, работни листове, потребителски формуляри и др.
  2. Кодовият прозорец за модула.

Прозорец за код на модула срещу прозорец с код на обекта

Първо нека бързо да разбера разликата между добавяне на код в модул и добавяне на код в прозореца на целевия код.

Когато добавяте код към който и да е обект, това зависи от някакво действие върху този обект, което ще задейства кода.Например, ако искате да разкриете всички работни листове в работната книга веднага след отварянето й, кодът ще влезе в обекта ThisWorkbook (представящ работната книга).

В този случай задействането е отварянето на работната книга.

По същия начин, ако искате да защитите лист веднага след активиране на друг лист, кодът ще отиде в прозореца с код на листа.

Тези тригери се наричат ​​събития и можете да свържете код, който да бъде изпълнен, когато събитието настъпи.

Вместо това кодът в модула трябва да се изпълнява ръчно (или може да бъде извикан и от други подпрограми).

Когато записвате макрос, Excel автоматично създава модул и вмъква записания код на макрос в него.Сега, ако трябва да изпълните този код, трябва да изпълните макроса ръчно.

Добавете VBA код към модула

Докато записването на макрос автоматично създава модул и вмъква код в него, има някои ограничения при използване на записващото устройство за макроси.Например, не може да използва цикли или условия If Then Else.

В този случай е по-добре да копирате и поставите кода ръчно или да го напишете сами.

Модулите могат да се използват за съхраняване на следните типове VBA код:

  1. изявление: Можете да декларирате променливи в модули.Декларирането на променлива ви позволява да посочите типа данни, които променливата може да съдържа.Можете да декларирате променливи само за подпрограма или за всички подпрограми в модул (или всички модули)
  2. подпрограма (процедура): Това е кодът, който съдържа стъпките, които искате VBA да изпълни.
  3. функционален процес: Това е код, който връща една стойност, която можете да използвате, за да създадете персонализирана функция (известна също като функция, дефинирана от потребител или UDF във VBA)

По подразбиране модулите не са част от работната книга.Необходимо е да се постави преди употреба.

Добавете модули във VB редактора

Ето стъпките за добавяне на модул:

  1. Щракнете с десния бутон върху всеки обект от работната книга (където искате да бъде модулът).Щракнете с десния бутон върху всеки обект
  2. Задръжте курсора на мишката върху опцията за вмъкване.
  3. Кликнете върху модула.щракнете модул

Това незабавно ще създаде папка с име Module и ще вмъкне обект с име Module1.Ако вече сте поставили един модул, горните стъпки ще вмъкнат друг модул.

Поставете модул във VB редактора

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

Сега можете да копирате и поставите кода или да го напишете сами.

Извадете модула

Ето стъпките за изтриване на модул в Excel VBA:

  1. Щракнете с десния бутон върху модула, който искате да изтриете.
  2. Щракнете върху опцията Премахване на модула.Изтрийте модулите на проекта във VB редактора
  3. В диалоговия прозорец, който се отваря, щракнете върху Не.Съвети преди премахване на модули

Забележка: Можете да експортирате модула, преди да го премахнете.Записва се като .bas файл, който можете да импортирате в други проекти.За да експортирате модул, щракнете с десния бутон върху модула и щракнете върху Експортиране на файл.

Добавете код към прозореца с обектен код

За да отворите прозореца с код за обект, просто щракнете двукратно върху него.

Когато се отвори, можете да въведете код ръчно или да копирате и поставите код от други модули или интернет.

Имайте предвид, че някои обекти ви позволяват да избирате събития, за които искате да напишете код.

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

Събитие за промяна на избора в прозореца на VBA код

Забележка: Тези събития са специфични за обекти.Когато отворите прозореца с код за работна книга, ще видите събития, свързани с обекта на работната книга.Когато отворите прозореца с код за работен лист, ще видите събития, свързани с обекта на работния лист.

Персонализиран VB редактор

Въпреки че настройките по подразбиране на редактора на Visual Basic са достатъчно добри за повечето потребители, това ви позволява допълнително да персонализирате интерфейса и някои функции.

В тази част от урока ще ви покажа всичките ви опции при персонализиране на VB редактора.

За да персонализирате средата на VB редактора, щракнете върху Инструменти в лентата с менюта, след което щракнете върху Опции.

Това ще отвори диалоговия прозорец Опции, който ще ви даде всички опции за персонализиране в редактора на VB.Диалоговият прозорец Опции има четири раздела (показани по-долу) с различни опции за персонализиране за редактора на Visual Basic.

Опции за персонализиране на Vb редактора

Нека да разгледаме набързо всеки раздел и важните опции във всеки.

раздел редактор

Макар че вградените настройки трябва да работят добре в повечето случаи, нека все пак да преглеждам опциите в този раздел.

Когато станете по-оптимални с VBA в Excel, може да искате да персонализирате VB редактора с някои от тези опции.

Автоматична проверка на граматиката

Когато използвате VBA в Excel, веднага щом възникне синтактична грешка, се появява диалогов прозорец (с някакво описание на грешката).Както е показано по-долу:

Свързани въпроси  Как да видите кой ви е прекъснал следването в Instagram

Автоматична проверка на синтаксиса в опциите на редактора на Visual Basic

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

Ако сте начинаещ, препоръчвам да активирате тази опция.Когато станете по-опитни с кодирането, може да започнете да намирате тези изскачащи прозорци за досадни и можете да деактивирате тази опция.

изисква се декларация на променлива

Това е опция, която препоръчвам да активирате.

Когато използвате VBA, използвате променливи, за да съхранявате различни типове данни и обекти.

Когато активирате тази опция, тя автоматично вмъква изявление "Option Explicit" в горната част на прозореца с кода.Това ви принуждава да декларирате всички променливи, които използвате във вашия код.Ако не декларирате променливата и се опитате да изпълните кода, ще получите грешка (както е показано по-долу).

Променлива недекларирана грешка в Excel VBA

В горния пример използвах променливата Var, но не я декларирах.Така че, когато се опитам да стартирам кода, той показва грешка.

Тази опция е полезна, когато имате много променливи.Обикновено ми помага да намеря грешно написани имена на променливи, тъй като те се третират като недекларирани и показват грешки.

Забележка: Когато тази опция е активирана, тя няма да засегне съществуващите модули.

Автоматични членове на списъка

Тази опция е полезна, защото ви помага да получите списък със свойства на обектен метод.

Например, ако искам да изтрия лист (Sheet1), трябва да използвам реда Sheet1.Delete.

Когато въведа кода, веднага щом въведа точката, той показва всички методи и свойства, свързани с обекта Worksheet (показан по-долу).

Опция за автоматичен член на списъка в редактора на VB

Функцията за автоматичен списък е страхотна, защото ви позволява да:

  • Спестете време, като бързо избирате свойства и методи от списъци
  • Показва ви всички свойства и методи, които може да не знаете
  • Избягвайте правописни грешки

Тази опция е активирана по подразбиране и препоръчвам да я запазите по този начин.

Автоматична опция за бърза информация

Когато въведете функция в работен лист на Excel, тя ви показва известна информация за функцията – като аргументите, които приема.

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

Автоматична опция за бърза информация във VB редактора

Опция за автоматичен съвет за данни

Когато преминете през кода ред по ред и поставите курсора върху името на променливата, той ще покаже стойността на променливата.

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

Опция за автоматични съвети за данни в опциите на редактора на Visual Basic

В примера по-горе, веднага щом поставя курсора върху променливата (var), тя показва стойността, която държи.

Тази опция е активирана по подразбиране и ви препоръчвам да я запазите така.

автоматично отстъп

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

Когато пишете код, можете да използвате клавиша табулатор за отстъп.

Тази опция гарантира, че когато завършите ред с отстъп и натиснете Enter, следващият ред не започва от началото, а има същия отстъп като предишния ред.

Активирайте отстъпа в прозореца на кода на редактора на VB

В примера по-горе, след като напиша реда Debug.Print и натисна enter, той започва точно под него (със същото ниво на отстъп).

Намирам тази опция за полезна, изключването й означава ръчно отстъп на всеки ред в блок от код, който искам да направя отстъп.

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

Плъзнете и пуснете редактиране на текст

Когато тази опция е активирана, тя ви позволява да избирате блокове от код и да ги плъзгате и пускате.

Спестява време, защото не е нужно първо да изрязвате и поставяте.Можете просто да го изберете и плъзнете.

Тази опция е активирана по подразбиране и ви препоръчвам да я запазите така.

По подразбиране е пълен модулен изглед

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

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

Тази опция е активирана по подразбиране и препоръчвам да я запазите по този начин.

Една от причините, поради които може да искате да го деактивирате, е, когато имате множество обемисти програми и превъртането им отнема време, или когато имате много програми и искате да го намерите бързо, вместо да губите време, докато превъртате.

програмен разделител

Когато тази опция е активирана, ще видите линия (вид разделител) между двата процеса.

Намирам това за полезно, тъй като визуално показва кога един процес завършва и друг започва.

Опция за разделител на процедури в редактора на VB

Той е активиран по подразбиране и препоръчвам да го запазите по този начин.

Раздел Формат на редактора

Използвайки опциите в раздела Формат на редактора, можете да персонализирате външния вид на вашия код в прозореца на кода.

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

За да направите промени, първо трябва да изберете опция в полето за цвят на кода.След като изберете опция, можете да промените нейните цветове на преден план, фон и индикатор.

В този раздел могат да се задават и тип и размер на шрифта.Препоръчва се шрифт с фиксирана ширина, като Courier New, тъй като прави кода по-четлив.

Имайте предвид, че настройките за типа и размера на шрифта ще останат същите за всички типове кодове (тоест всички типове кодове, показани в полето за цвят на кода).

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

Опции за форматиране на редактора във VB редактора

Забележка: Когато опцията за индикаторна лента за полета е активирана, вляво от кода се появява малка лента с полета.Това е полезно, защото показва полезни показатели, докато изпълнява кода.В горния пример, когато зададете точка на прекъсване, тя автоматично показва червена точка вляво от реда в лентата с полета.Като алтернатива, за да зададете точка на прекъсване, можете просто да щракнете върху лентата с полета вляво от реда код, който искате да поставите точка на прекъсване.

По подразбиране лентата с индикатор за полета е активирана и препоръчвам да я запазите по този начин.

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

Общи раздел

Разделът Общи има много опции, но не е нужно да променяте нито една от тях.

Препоръчвам ви да запазите всички опции еднакви.

Важна опция за разбиране в този раздел е обработката на грешки.

По подразбиране е избрано „Прекъсване при необработени грешки“ и препоръчвам да го запазите по този начин.

Тази опция означава, че ако кодът ви срещне грешка и не сте се справили с тази грешка в кода си, той ще се счупи и ще спре.Въпреки това, ако сте разрешили грешката (напр. с помощта на опциите On Error Resume Next или On Error Goto), тогава тя няма да се повреди (тъй като грешката не е необработена).

Раздел за докинг

В този раздел можете да посочите прозорците, които да бъдат закачени.

Докинг означава, че можете да позиционирате прозорец (като прозореца на Project Explorer или прозореца Properties), така че да не плава и да можете да преглеждате всички различни прозорци едновременно.

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

Препоръчвам да запазите настройките по подразбиране.

О, здравей 👋Приятно ми е да се запознаем.

Абонирайте се за нашия бюлетин, изпращайте много редовнострахотна техникана вашата поща.

Публикувай коментар