VBA With / End With Заявление

В этой статье будет продемонстрировано, как использовать With и End With в VBA.

Excel дает нам возможность изучать VBA, записывая макросы. Эти макросы записывают буквально все, что мы делаем на экране, и конвертируем действия в код VBA. Затем мы можем проанализировать этот код и извлечь из него уроки.

Когда мы записываем макрос в VBA, что наиболее важно, когда мы меняем формат ячеек, макрос чаще всего использует при записи синтаксис With… End With. Понимание того, что они означают и для чего используются, является важной частью VBA.

Запись макроса

Чтобы записать макрос в Excel, в Лента, Выбрать «Просмотр»> «Макрос»> «Записать макрос».

ИЛИ

Разработчик> Запись макроса

Примечание. Если вы не видите ленты разработчика, вам необходимо включить ее. Щелкните ЗДЕСЬ, чтобы узнать, как это сделать.

Введите имя макроса и нажмите ОК.

Выделите несколько ячеек, затем отформатируйте их для жирного шрифта, измените цвет на красный и измените размер шрифта. Затем нажмите «Стоп» в нижнем левом углу экрана, чтобы остановить запись макроса.

Синтаксис оператора WITH

Для просмотра / редактирования записанного макроса: На ленте выберите Просмотр> Макросы> Просмотр макросов. Выберите только что записанный макрос и нажмите Редактировать.

ИЛИ

На ленте выберите Разработчик> Visual Basic чтобы переключиться в окно VBE.

Записанный макрос может выглядеть примерно так, как в примере ниже

123456789 Sub WithMacro ()Диапазон ("A2: C10"). ВыберитеSelection.Font.Bold = TrueSelection.Font.Size = 12С Selection.Font.Color = -16776961..TintAndShade = 0Конец сКонец подписки

Во-первых, мы выбрали диапазон A2: C10.

Затем мы установили полужирный шрифт на true и размер шрифта на 12. Обратите внимание, что код «Selection.Font» повторяется для этих строк.

Затем макрос записал, как мы меняем цвет текста - обратите внимание, что на этот раз у Selection.Font есть С УЧАСТИЕМ перед ним, а перед двумя изменяемыми свойствами (цвет и оттенок и оттенок) стоит точка (.). Затем область кода завершается КОНЕЦ.

Чтобы упростить этот код, мы можем переместить полужирный шрифт и размер так, чтобы они находились внутри оператора WITH, и, следовательно, избавиться от необходимости повторять слово Selection.

123456789 Sub WithMacro ()Диапазон ("A2: C10"). ВыберитеС Selection.Font.Жирный шрифт = True.Размер = 12.Color = -16776961..TintAndShade = 0Конец сКонец подписки

Таким образом, синтаксис оператора WITH… END WITH очень прост:

123 С объектом'свойства для форматирования / измененияКОНЕЦ

Мы могли изменить код иначе:

1234567 Sub RemoveWith ()Диапазон ("A2: C10"). ВыберитеSelection.Font.Bold = TrueSelection.Font.Size = 12Selection.Font.Color = -16776961Selection.Font.TintAndShade = 0Конец подписки

В приведенном выше примере мы добавили слова Selection.Font в каждую строку кода. Поэтому мы неоднократно ссылались на объект Selection.Font в коде.

Однако использование оператора WITH означает, что нам нужно ссылаться на этот объект только один раз в коде. Это более чистый способ кодирования - он сообщает VBA начинать с WITH и заканчивать с END WITH - весь код для запуска заключен в эти два слова. Это заставляет макрос работать быстрее и эффективнее (особенно для более длинных макросов) и добавляет структуру в ваш код.

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave