With Statement

Named Arguments

No

Syntax

With object
   [statements]
End With

object

Use: Required

Data Type: Object

A previously declared object variable or user-defined type.

statements

Use: Optional

Program code to execute against object.

Description

Performs a set of property assignments and executes other code against a particular object or user-defined type, thus allowing you to refer to the object only once. Because the object is referred to only once, the "behind the scenes" qualification of that object is also performed only once, leading to improved performance of the code block.

Rules at a Glance

  • The single object referred to in the With statement remains the same throughout the code contained within the With...End With block. Therefore, only properties and methods of object can be used within the code block without explicitly referencing the object. All other object references within the With...End statement must start with a fully qualified object reference.

  • With statements can be nested, as long as the inner With statement refers to a sub object or a dependent object of the outer With statement.

Programming Tips and Gotchas

It's important that you don't include code within the With statement block that forces execution to branch out of the block. Similarly, don't write code that forces program flow to jump into a With block. Both the With and its associated End With statement must be executed or you will generate unpredictable errors and results.

See Also

Do...Loop ...

Get VB & VBA in a Nutshell: The Language now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.