VBA con

Con declaración en Excel VBA

La declaración With se usa en VBA para acceder a todas las propiedades y métodos de un objeto mencionado. Primero debemos proporcionar a qué objeto de VBA nos referimos, luego cerrar la instrucción With con End With , luego, dentro de esta instrucción, podemos realizar todos los cambios de propiedad y métodos del objeto mencionado.

A continuación se muestra la sintaxis de With Statement en VBA.

 Con [OBJETO] [Código ... ¿Qué hay que hacer?] Terminar con 

El objeto no es más que un rango de celdas o celdas a las que nos referimos y luego podemos cambiar las propiedades y realizar todos los métodos asociados con esa celda o celdas específicas.

¿Cómo usar con Statement en Excel VBA?

A continuación se muestran algunos ejemplos para usar With Statement en Excel VBA.

Puede descargar esta plantilla de VBA con Excel aquí - VBA con plantilla de Excel

Ejemplo 1

Suponga que tiene cierto valor en la celda A1, he ingresado el texto como "Excel VBA" en la celda A1.

Ahora, para esta celda, necesito hacer algunas tareas, es decir, formatear en Excel.

Quiero cambiar el tamaño de la fuente, el nombre de la fuente y el color interior, insertar un borde, etc. Típico, lo que hacemos es primero referir la celda usando el objeto VBA RANGE.

Código:

 Sub With_Example1 () Rango ("A1") End Sub 

Ahora para cambiar el tamaño de la fuente accedemos a la propiedad "fuente" de esta celda.

En la propiedad FONT accedemos a la propiedad Size e ingresamos el tamaño poniendo un signo igual.

Código:

 Sub With_Example1 () Rango ("A1"). Font.Size = 15 End Sub 

Ahora, de manera similar, hacemos otras tareas de formateo como se muestra a continuación.

Código:

 Sub With_Example1 () Range ("A1"). Font.Size = 15 Range ("A1"). Font.Name = "Verdana" Range ("A1"). Interior.Color = vbYellow Range ("A1"). Bordes .LineStyle = xlContinuous End Sub 

Esto hará todas las tareas mencionadas, pero si observa el código para realizar cada una de las actividades de formateo que le hemos proporcionado la dirección de la celda cada vez, esto hace que el código parezca largo y lento.

Ahora usaremos VBA con la declaración para reducir la entrada de la dirección de la celda cada vez. Abra la declaración WITH en Excel VBA y proporcione la dirección de la celda.

Código:

 Sub With_Example1 () Con rango ("A1") End Sub 

Dentro de la instrucción With, ponga un punto para ver todas las propiedades y métodos de la celda A1.

Ahora la primera actividad de formateo es cambiar el tamaño de fuente, así que acceda a FONT y bajo esta propiedad de acceso SIZE.

Código:

 Sub With_Example1 () With Range ("A1") .Font.Size = 15 End Sub 

Del mismo modo, proporcione otros códigos de formato y cierre VBA With Statement.

Código:

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

Ejecute el código para ver todo el formato en el objeto mencionado, es decir, la celda A1.

Entonces, todo el formato aplicado a la celda. Mira lo genial que es esta técnica.

Ejemplo # 2

Por ejemplo, si desea cambiar todas las propiedades relacionadas con la fuente, puede mencionar la celda y la propiedad FONT.

Código:

 Sub With_Example2 () con rango ("A1"). Fin de fuente con final Sub 

Dentro de la declaración vba With, podemos ver la lista IntelliSense que mostrará propiedades y métodos relacionados con la propiedad FONT solamente.

Podemos realizar cualquier conjunto de actividad con esto ahora.

Código:

 Sub With_Example2 () With Range ("A1"). Font .Bold = True 'La fuente será en negrita .Color = vbAlias' El color de la fuente será Alias ​​.Italic = True 'La fuente será en cursiva. Tamaño = 20' El tamaño de la fuente será be 20 .Underline = True 'La fuente se subrayará End With End Sub 

El resultado de esto será como se muestra a continuación.

Ejemplo # 3

El siguiente código solo accederá a las propiedades relacionadas con el borde de la celda.

Código:

 Sub With_Example3 () With Range ("B2"). Borders .Color = vbRed 'El color del borde será rojo .LineStyle = xlContinuous' Borde completo .Weight = xlThick 'Borde grueso Fin con final Sub 

El resultado de este código es el siguiente.

Cosas para recordar

  • La instrucción With se usa para minimizar el código.
  • Necesitamos proporcionar el objeto primero para la declaración With.
  • Una vez que se proporciona el objeto específico, podemos acceder solo a las propiedades y métodos de ese objeto.