Lección 12 / 20

La sentencia With

En esta lección aplicarás varias operaciones al mismo objeto sin repetir su nombre.

With objeto ... End With abre un bloque en el que las propiedades se escriben empezando por un punto: .Value, .Font.Bold. Todas se aplican al objeto indicado arriba.

El código de ejemplo pone un texto en A1 y lo marca en negrita.

No es solo cuestión de escribir menos. Cada vez que nombras Range("A1"), VBA vuelve a resolver esa referencia; dentro de un With se resuelve una sola vez, así que además de leerse mejor va más rápido. En una macro que da formato a muchas celdas, la diferencia se nota.

El descuido típico es olvidar el punto inicial. Escribir Value = "Total" dentro del bloque no da error de sintaxis: VBA lo entiende como una variable suelta, y la celda no cambia. Como no salta ningún aviso, es un fallo que cuesta encontrar; cuando algo dentro de un With «no hace nada», lo primero que hay que mirar son los puntos.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar VBA directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)