Оператор 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