Тази статия ще покаже как да използвате With и End With във VBA
Excel ни дава възможност да научим VBA чрез записване на макроси. Тези макроси записват буквално всичко, което правим на екрана и преобразуват действията във VBA код. След това можем да анализираме този код и да се поучим от него.
Когато записваме макрос във VBA, най -вече когато променяме формата на клетките, макросът по -често ще използва с … Край със синтаксиса в записа си. Разбирането на това какво означават и за какво се използват е важна част от VBA.
Запис на макрос
За да запишете макрос в Excel, в Лента, изберете Изглед> Макрос> Записване на макрос.
ИЛИ
Разработчик> Запис на макрос
Забележка: Ако не виждате лентата за програмисти, ще трябва да я активирате. Щракнете ТУК, за да научите как да направите това.
Въведете името на макроса и щракнете върху OK.
Маркирайте някои клетки и след това ги форматирайте за Bold, променете цвета на червен и променете размера на шрифта. След това щракнете върху Стоп в долния ляв ъгъл на екрана, за да спрете записа на макрос.
С синтаксис на изявление
За да видите / редактирате записания си макрос: В лентата изберете Изглед> Макроси> Преглед на макроси. Изберете току -що записания макрос и след това щракнете редактиране.
ИЛИ
В лентата изберете Разработчик> Visual Basic за превключване към прозореца VBE.
Записаният макрос може да изглежда нещо като примера по -долу
123456789 | Sub WithMacro ()Обхват ("A2: C10"). ИзберетеSelection.Font.Bold = ВярноSelection.Font.Size = 12С Избор.Шрифт.Цвят = -16776961.TintAndShade = 0Край сEnd Sub |
Първо, избрахме диапазона A2: C10.
След това сме задали удебеления шрифт на true и размера на шрифта 12. Обърнете внимание, че кодът „Selection.Font“ се повтаря за тези редове.
След това макросът ни записа, че променяме цвета на текста - имайте предвид, че този път Selection.Font има a С пред него, а 2 -те свойства, които се изменят (цветът и сенникът) имат точка (.) пред тях. След това областта на кода се допълва с КРАЙ С.
За да опростим този код, можем да преместим удебеления шрифт и размера в рамките на израза WITH и следователно да премахнем необходимостта да повтаряме думата Избор.
123456789 | Sub WithMacro ()Обхват ("A2: C10"). ИзберетеС Selection.Font. Bold = Истина.Размер = 12.Цвят = -16776961.TintAndShade = 0Край сEnd Sub |
Следователно синтаксисът на израз WITH… END WITH е много прост:
123 | С Object'свойства за форматиране/промянаКРАЙ С |
Можехме да променим кодекса по различен начин:
1234567 | Sub RemoveWith ()Обхват ("A2: C10"). ИзберетеSelection.Font.Bold = ВярноSelection.Font.Size = 12Selection.Font.Color = -16776961Selection.Font.TintAndShade = 0End Sub |
В горния пример добавихме думите Selection.Font към всеки ред на кода. Следователно многократно се позовавахме на обекта Selection.Font в кода.
Използването на израза WITH обаче означава, че трябва да се позоваваме на този обект само веднъж в кода. Това е по -чист начин за кодиране - той казва на VBA да започва от WITH и да завършва в END WITH - кодът за изпълнение е затворен в тези 2 думи. Това прави макроса по -бърз и по -ефективен (особено за по -дълги макроси) и добавя структура към кода ви.