Excel vba with синтаксис

Применение оператора With для упрощения кода VBA Excel и ускорения его работы. Синтаксис оператора With, параметры, поясняющие примеры.

Оператор With предназначен для выполнения последовательности операторов (строк кода) для отдельного объекта или пользовательского типа данных.

Применение оператора With упрощает написание и восприятие кода VBA Excel, а также ускоряет его работу.

Синтаксис

Синтаксис оператора With в VBA Excel:

With object

[statements]

End With

Параметры

Параметры оператора With:

Параметр Описание
object Имя объекта или пользовательского типа данных.
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].

Примечания

Примечания от разработчика:

  • После входа в блок With параметр object изменить нельзя. Следовательно, один оператор With не может быть использован для изменения нескольких объектов.
  • Во вложенном блоке With необходимо указывать полные ссылки на любые элементы объекта из внешнего блока With.
  • Не рекомендуется использовать переходы в блоки With или из них.

Home / VBA / VBA With Statement (With – End With)

Key Points

  • Use the VBA With Statement to minimize the code.
  • You can use a single object at a time while using the With Statement.

What is VBA With Statement

VBA With is a statement to specify an object for once and then run multiple statements for it. In simple words, by using the “WITH” statement to specify an object, and after that, you can access all the properties and methods in one go. It starts with the “With” and ends with “End With”.

Syntax of VBA With Statement

Following is the syntax that you need to use for using With statement in VBA:

With [OBJECT]
      [Statement]
End With
  1. With: It’s the starting keyword for the statement that tells VBA that you are specifying the object mentioned.
  2. Object: Here, you need to specify the object that you want to use.
  3. Statement: A statement(s) that you want to run with the specified object.
  4. End With: It’s the ending keyword for the statement.

Example to understand the VBA With Statement

Let’s take an example to understand with the statement in depth. Let’s say you want to change, the font color, size, and font name of cell A1. For doing all these three things you need to access three different properties of VBA font and the code would be:

Range("A1").Font.Color = RGB(0, 0, 255)
Range("A1").Font.Size = 16
Range("A1").Font.Name = "Consolas"

But here we going to use the With Statement instead of the above code. To use the VBA With Statement, you can use the following steps:

  1. First, type the keyboard “With”.
  2. After that, use the VBA Range to specify the cell A1 with using the font object to specify the font object.
    2-use-the-vba-range
  3. Next, you need to enter the code for all three properties and the values that you want to apply.
    3-code-for-all-three-properties
  4. In the end, use the keyword “End With” to end the statement.
    4-end-with-to-end-the-statement

Here’s the code that you have just written.

Sub MyMacro()

With Range("A1").Font
        .Color = RGB(0, 0, 255)
        .Size = 16
        .Name = "Consolas"       
End With

End Sub

Now let’s have a look at both codes and try to understand what is the difference that we have got by using the “With” statement.

In the first code, you have used the font object three times and then further used the property that you want to access and want to make changes to it.

But in the second code, you have used the With statement and specified the font object at once. And then three lines of code within the “With” statement to access all three properties.

When you use the “With” statement and specify an object, it tells VBA that all the statements that you have written need to run with the object mentioned. It not only gives you a structured code but also makes a macro run faster and gives it greater efficiency.

Nested With Statement

I told you in the starting that you can only specify a single object to use the With statement. But there is a way to use more than one or even multiple objects with it. That’s by using VBA LOOPS, and we are going to use FOR EACH LOOP to loop through multiple objects and use the “With”.

Let me tell you an example; you need to loop through all the worksheets and do apply all the following things to all the cells in each worksheet.

  • Font Size: 16
  • Font: Verdena

And in the workbook, you have five worksheets, as I have in the following example:

Use the following steps to write a nested “With” statement.

  1. First, you need to declare a variable to use a worksheet object.
    7-steps-to-write-nested
  2. After that, as I said, you need to use For Each Loop. So, you need to write a code with the loop that can loop through all the worksheets.
    8-write-code-with-the-loop
  3. Now, enter the with statement which can apply font setting that we have discussed above. For referrring to all the cells in the worksheet you can use the “Cells” while specifing the object.
    9-use-cells-while-specifing-the-object

Here’s the full code that you have just written.

Sub MyMacro()

Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    With Cells  
        .Font.Size = 16
        .Font.Name = "Verdena"       
    End With   
Next ws

End Sub

Содержание

  1. With statement
  2. Syntax
  3. Remarks
  4. Example
  5. See also
  6. Support and feedback
  7. With. End With Statement (Visual Basic)
  8. Syntax
  9. Parts
  10. Remarks
  11. Example 1
  12. Example 2
  13. С оператором
  14. Синтаксис
  15. Замечания
  16. Пример
  17. См. также
  18. Поддержка и обратная связь
  19. VBA With
  20. With Statement in Excel VBA
  21. How to Use With Statement in Excel VBA?
  22. Example #1
  23. Example #2
  24. Example #3
  25. Things to Remember
  26. Recommended Articles

With statement

Executes a series of statements on a single object or a user-defined type.

Syntax

With object [ statements ] End With

The With statement syntax has these parts:

Part Description
object Required. Name of an object or a user-defined type.
statements Optional. One or more statements to be executed on object.

The With statement allows you to perform a series of statements on a specified object without requalifying the name of the object. For example, to change a number of different properties on a single object, place the property assignment statements within the With control structure, referring to the object once instead of referring to it with each property assignment.

The following example illustrates use of the With statement to assign values to several properties of the same object.

Once a With block is entered, object can’t be changed. As a result, you can’t use a single With statement to affect a number of different objects.

You can nest With statements by placing one With block within another. However, because members of outer With blocks are masked within the inner With blocks, you must provide a fully qualified object reference in an inner With block to any member of an object in an outer With block.

In general, it’s recommended that you don’t jump into or out of With blocks. If statements in a With block are executed, but either the With or End With statement is not executed, a temporary variable containing a reference to the object remains in memory until you exit the procedure.

Example

This example uses the With statement to execute a series of statements on a single object. The object and its properties are generic names used for illustration purposes only.

See also

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Источник

With. End With Statement (Visual Basic)

Executes a series of statements that repeatedly refer to a single object or structure so that the statements can use a simplified syntax when accessing members of the object or structure. When using a structure, you can only read the values of members or invoke methods, and you get an error if you try to assign values to members of a structure used in a With. End With statement.

Syntax

Parts

Term Definition
objectExpression Required. An expression that evaluates to an object. The expression may be arbitrarily complex and is evaluated only once. The expression can evaluate to any data type, including elementary types.
statements Optional. One or more statements between With and End With that may refer to members of an object that’s produced by the evaluation of objectExpression .
End With Required. Terminates the definition of the With block.

By using With. End With , you can perform a series of statements on a specified object without specifying the name of the object multiple times. Within a With statement block, you can specify a member of the object starting with a period, as if the With statement object preceded it.

For example, to change multiple properties on a single object, place the property assignment statements inside the With. End With block, referring to the object only once instead of once for each property assignment.

If your code accesses the same object in multiple statements, you gain the following benefits by using the With statement:

You don’t need to evaluate a complex expression multiple times or assign the result to a temporary variable to refer to its members multiple times.

You make your code more readable by eliminating repetitive qualifying expressions.

The data type of objectExpression can be any class or structure type or even a Visual Basic elementary type such as Integer . If objectExpression results in anything other than an object, you can only read the values of its members or invoke methods, and you get an error if you try to assign values to members of a structure used in a With. End With statement. This is the same error you would get if you invoked a method that returned a structure and immediately accessed and assigned a value to a member of the function’s result, such as GetAPoint().x = 1 . The problem in both cases is that the structure exists only on the call stack, and there is no way a modified structure member in these situations can write to a location such that any other code in the program can observe the change.

The objectExpression is evaluated once, upon entry into the block. You can’t reassign the objectExpression from within the With block.

Within a With block, you can access the methods and properties of only the specified object without qualifying them. You can use methods and properties of other objects, but you must qualify them with their object names.

You can place one With. End With statement within another. Nested With. End With statements may be confusing if the objects that are being referred to aren’t clear from context. You must provide a fully qualified reference to an object that’s in an outer With block when the object is referenced from within an inner With block.

You can’t branch into a With statement block from outside the block.

Unless the block contains a loop, the statements run only once. You can nest different kinds of control structures. For more information, see Nested Control Structures.

You can use the With keyword in object initializers also. For more information and examples, see Object Initializers: Named and Anonymous Types and Anonymous Types.

If you’re using a With block only to initialize the properties or fields of an object that you’ve just instantiated, consider using an object initializer instead.

Example 1

In the following example, each With block executes a series of statements on a single object.

Example 2

The following example nests With…End With statements. Within the nested With statement, the syntax refers to the inner object.

Источник

С оператором

Выполняет последовательность операторов для отдельного объекта или пользовательского типа.

Синтаксис

Withobject [ statements ] End With

Синтаксис оператора With состоит из следующих частей:

Part Описание
object Обязательно. Имя объекта или пользовательского типа.
Операторы Необязательный параметр. Один или несколько операторов, которые выполняются в отношении объекта объект.

Замечания

Оператор With позволяет выполнить последовательность операторов в отношении заданного объекта без повторной квалификации его имени. Например, чтобы изменить несколько свойств одного объекта, поместите операторы присваивания свойств в управляющую структуру With, которая ссылается на объекта; в этом случае вам не понадобится указывать ссылку на объект при каждом присваивании.

В следующем примере демонстрируется использование оператора With для присвоения значений нескольким свойствам одного объекта.

После входа в блок With элемент объект нельзя изменить. Соответственно, вы не можете использовать один оператор With для изменения нескольких объектов.

Вы можете вкладывать операторы With в другие структуры With. Тем не менее, поскольку элементы внешних блоков With маскируются во внутренних блоках With, во внутреннем блоке With необходимо указывать полную ссылку на любой элемент объекта во внешнем блоке With.

В общем случае не рекомендуется использовать переходы в блоки With или из них. Если выполнены операторы в блоке With, однако оператор With или End With остался невыполненным, после выхода из процедуры временная переменная со ссылкой на объект останется в памяти.

Пример

В этом примере используется оператор With для выполнения последовательности операторов в отношении одного объекта. Объект и его свойства являются универсальными именами, используемыми только в целях иллюстрации.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

VBA With

With Statement in Excel VBA

A With statement is used in VBA to access all the properties and methods of a mentioned object. Therefore, we need to supply which VBA object VBA Object The “Object Required” error, also known as Error 424, is a VBA run-time error that occurs when you provide an invalid object, i.e., one that is not available in VBA’s object hierarchy. read more we are referring to first, close the With statement with End With, then inside this statement. Then, we can perform all the property changes and methods of the mentioned object.

Table of contents

Below is the syntax of With Statement in VBA.

The object is nothing but a range of cells or cells we are referring to, and then we can change the properties and perform all the methods associated with that specific cell or cell.

How to Use With Statement in Excel VBA?

Below are some examples of using With statements in Excel VBA.

Example #1

Assume you have a certain value in the A1 cell. We have entered the text as “Excel VBA” in cell A1.

Code:

Now, we access this cell’s “font” property to change the font size.

Under the FONT property, we access the Size property and enter size by putting an equal sign.

Code:

Now similarly, we do other formatting tasks, as shown below.

Code:

It will do all the mentioned tasks, but if you look at the code to perform every formatting activity. We have supplied the cell address every time. It makes the code look lengthy and time-consuming.

Now, we will use VBA With a statement to reduce the entry of cell addresses every time. Open WITH statement in Excel VBA and supply cell address.

Code:

Inside the With statement, put a dot to see all the properties and methods of cell A1.

The first formatting activity is changing font size, so access FONT. Under this, access the SIZE property.

Code:

Similarly, supply other formatting codes and close VBA With statement.

Code:

Run the code to see all the formatting in the mentioned object, i.e., cell A1.

So, all the formatting applies to the cell. Look how cool this technique is.

Example #2

If you want to change all the properties related to the font, you can mention the cell and FONT property.

Code:

Inside the VBA With Statement, we can see the IntelliSense list. It will show properties and methods related to FONT property only.

We can perform any set of activities with this now.

Code:

It will show the result of this below.

Example #3

The below code will access only cell border-related properties.

Code:

The result of this code is as follows.

Things to Remember

  • A With statement is used to minimize the code.
  • We need to supply the object first for the With statement.
  • Once we supply the specific object, we can access only that object’s properties and methods.

Recommended Articles

This article has been a guide to VBA With. Here, we discuss how to use With…End With Statement in Excel VBA along with examples and downloadable Excel sheet. You can learn more about VBA from the following articles: –

Источник

VBA With

With Statement in Excel VBA

In this article, we will see an outline on Excel VBA With. With is a statement in programming languages. It is one of the most commonly used statement which is used with an END statement. The object which is referred to is mentioned after the with keyword and the whole process is ended with End With statement. A VBA With Statement cannot be without an end with a statement so it is mandatory to close the series of statements. The key feature of the with the statement is that we can access the properties of the object without referring to the object multiple times. The method to access the properties of the object lies in the dot keyword. When we put a dot keyword we can see a multiple number of options to access the properties of the object. Let us learn how to use With statement in some of the examples below.

How to Use With Statement in Excel VBA?

We will learn how to use the With Statement in Excel by using the VBA Code.

You can download this VBA With Excel Template here – VBA With Excel Template

VBA With – Example #1

Let us first begin with a basic example in which we will use the With statement for accessing the range value of an object and then assign a custom value to it. For this, follow the steps below:

Step 1: Insert a new module inside Visual Basic Editor (VBE). Click on Insert tab > select Module.

Insert Module

Step 2: Define a new subprocedure within the inserted module that can hold your macro.

Code:

Sub Example1()

End Sub

VBA With Example 1-1

Step 3: Since we are beginning with the most basic with statement.

Code:

Sub Example1()

With Range("A1")

End Sub

VBA With Statement Example 1-2

Step 4: When we type a dot (.) we can see a range of different functions associated with the object.

Code:

Sub Example1()

With Range("A1")
.Value = 15

End Sub

VBA With Statement Example 1-3

Step 5: Always remember to close the with statement with an End statement.

Code:

Sub Example1()

With Range("A1")
.Value = 15
End With

End Sub

VBA With Example 1-4

Step 6: Now, run this code by hitting the Run button or F5.

VBA With Example 1-5

VBA With – Example #2

In this example, we will see how to change one of the fonts or the color of the property of the object. I have some data in Sheet 2 in the cells A1 to C3 in normal black color and I want to change the text font to blue using With Statement. First, let us see the current data in sheet 2 as follows. For this, follow the steps below:

VBA With Example 2-8

Step 1: Now in the same module declare another subprocedure as follows.

Code:

Sub Example2()

End Sub

Subprocedure Example 2-1

Step 2: Also we have now more than one sheet in this workbook so let us activate sheet 2 with the following code.

Code:

Sub Example2()

Worksheets("Sheet2").Activate

End Sub

VBA With Example 2-2

Step 3: Now declare a variable as Range data type which will store the range for our data as shown below and set the range to the range which has our data in sheet 2.

Code:

Sub Example2()

Worksheets("Sheet2").Activate
Dim Rng As Range
Set Rng = Range("A1:C3")

End Sub

VBA With Example 2-3

Step 4: Access the Font property of the Rng variable using the with statement with the following code shown below.

Code:

Sub Example2()

Worksheets("Sheet2").Activate
Dim Rng As Range
Set Rng = Range("A1:C3")
With Rng.Font

End Sub

VBA With Example 2-4

Step 5: Now we can use the dot (.) operator to change the color of the range using the following code and change the color of the text in the cell range.

Code:

Sub Example2()

Worksheets("Sheet2").Activate
Dim Rng As Range
Set Rng = Range("A1:C3")
With Rng.Font
.Color = vbBlue

End Sub

VBA With Example 2-5

Step 6: Now let us end the with statement with the END WITH statement as follows.

Code:

Sub Example2()

Worksheets("Sheet2").Activate
Dim Rng As Range
Set Rng = Range("A1:C3")
With Rng.Font
.Color = vbBlue
End With

End Sub

VBA With Example 2-6

Step 7: When we execute the code we get the following result in sheet 2.

VBA With Example 2-9

VBA With – Example #3

In this very basic example, we will see another font feature to manipulate using the With statement. For this example, we have similar text in cells B2 to D5 and they are in normal fonts. We want to change the font to Bold and Italic using the With statement. First, let us look at the data in sheet 3 as follows. For this, follow the steps below:

VBA With Example 3-1

Step 1: Now in the same module declare another subprocedure as follows.

Code:

Sub Example3()

End Sub

Subprocedure Example 3-2

Step 2: Also we have now more than one sheet in this workbook so let us activate sheet 3 with the following code.

Code:

Sub Example3()

Worksheets("Sheet3").Activate

End Sub

VBA With Example 3-3

Step 3: Now declare a variable as Range data type which will store the range for our data as shown below and set the range to the range which has our data in sheet 3.

Code:

Sub Example3()

Worksheets("Sheet3").Activate
Dim Rng As Range
Set Rng1 = Range("B2:D5")

End Sub

Range Data Type Example 3-4

Step 4: Access the Font property of the Rng variable using the with statement.

Code:

Sub Example3()

Worksheets("Sheet3").Activate
Dim Rng As Range
Set Rng1 = Range("B2:D5")
With Rng1.Font

End Sub

Rng variable Example 3-5

Step 5: Now again we use the dot (.) operator in the code to change the font to Bold and Italic.

Code:

Sub Example3()

Worksheets("Sheet3").Activate
Dim Rng As Range
Set Rng1 = Range("B2:D5")
With Rng1.Font
.Bold = True
.Italic = True

End Sub

dot (.) operator Example 3-6

Step 6: Let us end the Statements using the End statement as shown below.

Code:

Sub Example3()

Worksheets("Sheet3").Activate
Dim Rng As Range
Set Rng1 = Range("B2:D5")
With Rng1.Font
.Bold = True
.Italic = True
End With

End Sub

End statement Example 3-7

Step 7: When we execute the above code we can see the result in sheet 3 as follows.

Sheet 3 Example 3-8

As with the above examples, we can see how important with statement is in our day to day coding. Also, it removes the repetitive steps involved when we are trying to access the properties of an object. We can also use Loop statements in the With statements to define the criteria which we want to access for the object.

How to Use VBA With (Real Example)?

We have seen the basic uses of With statement in the above examples. Now let us use With statement for a real-life problem. We will make a code that will ask for a Name from user and Age, the code will then check the name in the list and paste the value of age beside the corresponding name. The data is in sheet 4 as follows.

Sheet 4 Example 3-10

So the code we will be using for this as shown below and we will execute it and then understand it step by step.

Code:

Sub Example4()

Dim ws As Worksheet
Dim FoundCell As Range
Dim Name As String, FindThis As String, Age As Integer, k As Integer
Set ws = Worksheets("Sheet4")
Name = InputBox("Enter The name")
Age = InputBox("Enter The Age")
FindThis = Name
Set FoundCell = ws.Range("A:A").Find(What:=FindThis)
k = FoundCell.Row
With ws
Cells(k, 2).Value = Age
End With

End Sub

VBA With Example 3-11

When we execute the code we get the following two pop-ups:

VBA With Example 3-12

VBA With Example 3-13

When we press OK for Age we can see the result displayed in Sheet 4 as follows.

VBA With Example 3-14

Now let us understand the code step by step:

  1. When we ask the user to input the name the code finds it in column A.
  2. When the value provided by the user is found the row for the value is stored in a variable.
  3. Now in the With statement, we use the Cells Properties to change the values adjacent to the cells found with the values with the age provided by the user.

Things to Remember

There are few things which we need to remember about With statement in VBA:

  • With Statement starts with referencing the Object property.
  • With Statements are always ended with End With Statement.
  • The properties of the object are accessed by the dot (.) keyword.

With Statements can also be used with the Loop statements.

Recommended Articles

This is a guide to VBA With. Here we discuss How to Use the With Statement in Excel VBA along with practical examples and downloadable excel template. You can also go through our other suggested articles –

  1. VBA Collection
  2. VBA Square Root
  3. VBA SendKeys
  4. VBA Name Worksheet

With Statement in Excel VBA

A With statement is used in VBA to access all the properties and methods of a mentioned object. Therefore, we need to supply which VBA objectThe “Object Required” error, also known as Error 424, is a VBA run-time error that occurs when you provide an invalid object, i.e., one that is not available in VBA’s object hierarchy.read more we are referring to first, close the With statement with End With, then inside this statement. Then, we can perform all the property changes and methods of the mentioned object.

Table of contents
  • With Statement in Excel VBA
    • How to Use With Statement in Excel VBA?
      • Example #1
      • Example #2
      • Example #3
    • Things to Remember
    • Recommended Articles

Below is the syntax of With Statement in VBA.

With [OBJECT]

     [Code… What needs to be done?]

End With

The object is nothing but a range of cells or cells we are referring to, and then we can change the properties and perform all the methods associated with that specific cell or cell.

How to Use With Statement in Excel VBA?

Below are some examples of using With statements in Excel VBA.

You can download this VBA With Excel Template here – VBA With Excel Template

Example #1

Assume you have a certain value in the A1 cell. We have entered the text as “Excel VBA” in cell A1.

Excel VBA With Statement Example 1.1

Now, we need to do some tasks for this cell, i.e., formatting in excelFormatting is a useful feature in Excel that allows you to change the appearance of the data in a worksheet. Formatting can be done in a variety of ways. For example, we can use the styles and format tab on the home tab to change the font of a cell or a table.read more.

We want to change the font size, name, and interior color, insert a border, etc. Typically, we refer to the cell using VBA RANGE objectRange is a property in VBA that helps specify a particular cell, a range of cells, a row, a column, or a three-dimensional range. In the context of the Excel worksheet, the VBA range object includes a single cell or multiple cells spread across various rows and columns.read more.

Code:

Sub With_Example1()

    Range ("A1")

End Sub

Excel VBA With Statement Example 1.2

Now, we access this cell’s “font” property to change the font size.

Excel VBA With Statement Example 1.3

Under the FONT property, we access the Size property and enter size by putting an equal sign.

Code:

Sub With_Example1()

    Range("A1").Font.Size = 15

End Sub

Excel VBA With Statement Example 1.4

Now similarly, we do other formatting tasks, as shown below.

Code:

Sub With_Example1()

    Range("A1").Font.Size = 15
    Range("A1").Font.Name = "Verdana"
    Range("A1").Interior.Color = vbYellow
    Range("A1").Borders.LineStyle = xlContinuous

End Sub

Excel VBA With Statement Example 1.5

It will do all the mentioned tasks, but if you look at the code to perform every formatting activity. We have supplied the cell address every time. It makes the code look lengthy and time-consuming.

Now, we will use VBA With a statement to reduce the entry of cell addresses every time. Open WITH statement in Excel VBA and supply cell address.

Code:

Sub With_Example1()

    With Range("A1")

End Sub

Excel VBA With Statement Example 1.6

Inside the With statement, put a dot to see all the properties and methods of cell A1.

Excel VBA With Statement Example 1.7

The first formatting activity is changing font size, so access FONT. Under this, access the SIZE property.

Code:

Sub With_Example1()

    With Range("A1")
         .Font.Size = 15

End Sub

Example 1.8

Similarly, supply other formatting codes and close VBA With statement.

Code:

Sub With_Example1()

    With Range("A1")
         .Font.Size = 15
         .Font.Name = "Verdana"
         .Interior.Color = vbYellow
         .Borders.LineStyle = xlContinuous
    End With

End Sub

Example 1.9

Run the code to see all the formatting in the mentioned object, i.e., cell A1.

VBA With Example1 - Output

So, all the formatting applies to the cell. Look how cool this technique is.

Example #2

If you want to change all the properties related to the font, you can mention the cell and FONT property.

Code:

Sub With_Example2()

    With Range("A1").Font

    End With

End Sub

Example 2.1

Inside the VBA With Statement, we can see the IntelliSense list. It will show properties and methods related to FONT property only.

Example 2.2

We can perform any set of activities with this now.

Code:

Sub With_Example2()

    With Range("A1").Font
         .Bold = True 'Font will be Bold
         .Color = vbAlias 'Font color will be Alias
         .Italic = True 'Font will be italic style
         .Size = 20 ' Font size will be 20
         .Underline = True 'Font will be underlined
    End With

End Sub

Example 2.3

It will show the result of this below.

VBA With Example 2- Output

Example #3

The below code will access only cell border-related properties.

Code:

Sub With_Example3()

    With Range("B2").Borders
         .Color = vbRed 'Border color will be red
         .LineStyle = xlContinuous 'Full border
         .Weight = xlThick 'Thick border
    End With

End Sub

Example 3.1

The result of this code is as follows.

VBA With Example 3 - Output

Things to Remember

  • A With statement is used to minimize the code.
  • We need to supply the object first for the With statement.
  • Once we supply the specific object, we can access only that object’s properties and methods.

Recommended Articles

This article has been a guide to VBA With. Here, we discuss how to use With…End With Statement in Excel VBA along with examples and downloadable Excel sheet. You can learn more about VBA from the following articles: –

  • VBA Delete Sheet
  • VBA If Else
  • VBA Type Statement
  • Named Range in VBA

Like this post? Please share to your friends:
  • Excel vba table this row
  • Excel vba with worksheets range
  • Excel vba table filtering
  • Excel vba with worksheet range
  • Excel vba sumifs with or