Оператор With
Оператор With предназначен для выполнения последовательности операторов (строк кода) для отдельного объекта или пользовательского типа данных. Применение оператора With упрощает написание и восприятие кода VBA Excel, а также ускоряет его работу.
Синтаксис оператора With:
Параметры оператора With:
1️⃣ object - имя объекта или пользовательского типа данных.
2️⃣ statements - один или несколько операторов (строк кода), которые выполняются в отношении указанного объекта.
Примеры
В следующей процедуре выполняется несколько идущих подряд операторов (строк кода) в отношении одного и того же объекта Range("A1:E5"):
Если в процедуре выполняется несколько идущих подряд операторов в отношении одного и того же объекта, то оператор With позволяет указать объект только один раз:
Такое написание кода делает его более понятным, а выполнение – более быстрым.
Конструкции с оператором With можно вкладывать одну в другую:
Такой код удобен, когда необходимо выполнить ряд операторов по отношению к некоторому объекту [Range("A1:E5")], а также по отношению к одному из содержащихся в нем объектов [Range("A1:E5").Font].
Примечания от разработчика:
1️⃣ После входа в блок With параметр object изменить нельзя. Следовательно, один оператор With не может быть использован для изменения нескольких объектов.
2️⃣ Во вложенном блоке With необходимо указывать полные ссылки на любые элементы объекта из внешнего блока With.
3️⃣ Не рекомендуется использовать переходы в блоки With или из них.
#VBA #ExcelVBA #With #Оператор #Operator
Оператор With предназначен для выполнения последовательности операторов (строк кода) для отдельного объекта или пользовательского типа данных. Применение оператора With упрощает написание и восприятие кода VBA Excel, а также ускоряет его работу.
Синтаксис оператора With:
With object
[statements]
End With
Параметры оператора With:
1️⃣ object - имя объекта или пользовательского типа данных.
2️⃣ statements - один или несколько операторов (строк кода), которые выполняются в отношении указанного объекта.
Примеры
В следующей процедуре выполняется несколько идущих подряд операторов (строк кода) в отношении одного и того же объекта Range("A1:E5"):
Sub Primer1()
Range("A1:E5").Value = "Тест"
Range("A1:E5").Interior.Color = vbMagenta
Range("A1:E5").Font.Size = 14
Range("A1:E5").Font.Color = vbYellow
Range("A1:E5").Font.Italic = True
Range("A1:E5").Borders.LineStyle = True
End Sub
Если в процедуре выполняется несколько идущих подряд операторов в отношении одного и того же объекта, то оператор With позволяет указать объект только один раз:
Sub Primer2()
With Range("A1:E5")
.Value = "Тест"
.Interior.Color = vbMagenta
.Font.Size = 14
.Font.Color = vbYellow
.Font.Italic = True
.Borders.LineStyle = True
End With
End Sub
Такое написание кода делает его более понятным, а выполнение – более быстрым.
Конструкции с оператором With можно вкладывать одну в другую:
Sub Primer3()
With Range("A1:E5")
.Value = "Тест"
.Interior.Color = vbMagenta
With .Font
.Size = 14
.Color = vbYellow
.Italic = True
End With
.Borders.LineStyle = True
End With
End Sub
Такой код удобен, когда необходимо выполнить ряд операторов по отношению к некоторому объекту [Range("A1:E5")], а также по отношению к одному из содержащихся в нем объектов [Range("A1:E5").Font].
Примечания от разработчика:
1️⃣ После входа в блок With параметр object изменить нельзя. Следовательно, один оператор With не может быть использован для изменения нескольких объектов.
2️⃣ Во вложенном блоке With необходимо указывать полные ссылки на любые элементы объекта из внешнего блока With.
3️⃣ Не рекомендуется использовать переходы в блоки With или из них.
#VBA #ExcelVBA #With #Оператор #Operator
🔄 Оператор With для упрощения работы с объектами
В VBA Excel оператор With позволяет сократить код и упростить работу с объектами, если к ним нужно обращаться несколько раз подряд. Вместо повторяющихся обращений к объекту, With позволяет группировать операции внутри одного блока.
❓ Почему стоит использовать With?
🔹 Уменьшает объем кода – не нужно дублировать имя объекта.
🔹 Ускоряет выполнение – VBA тратит меньше ресурсов на поиск объекта.
🔹 Делает код чище и понятнее.
📌 Пример без With (менее эффективно):
📌 Тот же код с With (более эффективно):
🛠 Как работает With?
🔹 VBA запоминает объект внутри With и применяет все действия внутри блока к этому объекту.
🔹 Все строки, начинающиеся с . (точки), относятся к объекту внутри With.
🔹 Не забывайте закрывать блок With ... End With, чтобы код работал правильно.
💡 Используйте With, если вам нужно изменить несколько свойств одного объекта – это делает код компактнее, быстрее и удобнее! 🚀
#VBA #ExcelVBA #With #Оптимизация
В VBA Excel оператор With позволяет сократить код и упростить работу с объектами, если к ним нужно обращаться несколько раз подряд. Вместо повторяющихся обращений к объекту, With позволяет группировать операции внутри одного блока.
❓ Почему стоит использовать With?
🔹 Уменьшает объем кода – не нужно дублировать имя объекта.
🔹 Ускоряет выполнение – VBA тратит меньше ресурсов на поиск объекта.
🔹 Делает код чище и понятнее.
📌 Пример без With (менее эффективно):
Sub WithoutWith()
Sheets("Лист1").Range("A1").Value = "Заголовок"
Sheets("Лист1").Range("A1").Font.Bold = True
Sheets("Лист1").Range("A1").Font.Size = 14
Sheets("Лист1").Range("A1").Interior.Color = RGB(200, 200, 255)
End Sub
📌 Тот же код с With (более эффективно):
Sub WithExample()
With Sheets("Лист1").Range("A1")
.Value = "Заголовок"
.Font.Bold = True
.Font.Size = 14
.Interior.Color = RGB(200, 200, 255)
End With
End Sub
🛠 Как работает With?
🔹 VBA запоминает объект внутри With и применяет все действия внутри блока к этому объекту.
🔹 Все строки, начинающиеся с . (точки), относятся к объекту внутри With.
🔹 Не забывайте закрывать блок With ... End With, чтобы код работал правильно.
💡 Используйте With, если вам нужно изменить несколько свойств одного объекта – это делает код компактнее, быстрее и удобнее! 🚀
#VBA #ExcelVBA #With #Оптимизация
🔥5👍1