VBA con declaración (con – terminar con)

VBA, o Visual Basic for Applications, es un lenguaje de programación versátil y poderoso que se encuentra en el corazón de las aplicaciones de Microsoft Office. Esta herramienta te permite automatizar tareas repetitivas y realizar procesos sofisticados que pueden ahorrar tiempo y esfuerzo considerable. En este artículo, exploraremos una función esencial en VBA: la declaración “con – terminar con”. Sigue leyendo para descubrir cómo utilizar esta declaración para mejorar tus habilidades en programación y lograr resultados sorprendentes.

Puntos clave

  • Utilice VBA With Statement para minimizar el código.
  • Puede utilizar un solo objeto a la vez mientras utiliza la instrucción With.

¿Qué es VBA con declaración?

VBA With es una declaración para especificar un objeto una vez y luego ejecutar varias declaraciones para él. En palabras simples, al usar la declaración “WITH” para especificar un objeto, y luego de eso, puede acceder a todas las propiedades y métodos de una sola vez. Comienza con “Con” y termina con “Terminar con”.

Sintaxis de VBA con declaración

La siguiente es la sintaxis que debe utilizar para utilizar la instrucción With en VBA:

With [OBJECT]
      [Statement]
End With
VBA con declaración (con - terminar con)
  1. Con: Es la palabra clave inicial de la declaración que le dice a VBA que está especificando el objeto mencionado.
  2. Objeto: Aquí debe especificar el objeto que desea utilizar.
  3. Declaración: declaraciones que desea ejecutar con el objeto especificado.
  4. Terminar con: Es la palabra clave final de la declaración.

Ejemplo para entender el VBA With Statement

Tomemos un ejemplo para entender la declaración en profundidad. Supongamos que desea cambiar el color, el tamaño y el nombre de la fuente de la celda A1. Para hacer estas tres cosas necesitas acceder a tres propiedades diferentes de la fuente VBA y el código sería:

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

Pero aquí usaremos la declaración With en lugar del código anterior. Para utilizar VBA With Statement, puede seguir los siguientes pasos:

  1. Primero, escribe en el teclado “Con”.
  2. Después de eso, use el Rango VBA para especificar la celda A1 y use el objeto de fuente para especificar el objeto de fuente.
    VBA con declaración (con - terminar con)
  3. A continuación, debe ingresar el código de las tres propiedades y los valores que desea aplicar.
    VBA con declaración (con - terminar con)
  4. Al final, utilice la palabra clave “Terminar con” para finalizar la declaración.
    VBA con declaración (con - terminar con)

Aquí está el código que acaba de escribir.

Sub MyMacro()

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

End Sub

Ahora echemos un vistazo a ambos códigos e intentemos comprender cuál es la diferencia que obtuvimos al usar la declaración “Con”.

VBA con declaración (con - terminar con)

En el primer código, usó el objeto de fuente tres veces y luego usó la propiedad a la que desea acceder y desea realizar cambios.

Pero en el segundo código, utilizó la instrucción With y especificó el objeto de fuente de inmediato. Y luego tres líneas de código dentro de la declaración “Con” para acceder a las tres propiedades.

Cuando usa la declaración “With” y especifica un objeto, le dice a VBA que todas las declaraciones que ha escrito deben ejecutarse con el objeto mencionado. No solo le brinda un código estructurado sino que también hace que una macro se ejecute más rápido y le brinda mayor eficiencia.

Anidado con declaración

Te dije al principio que solo puedes especificar un único objeto para usar la declaración With. Pero hay una manera de utilizar más de uno o incluso varios objetos con él. Eso es usando VBA LOOPS, y vamos a usar FOR EACH LOOP para recorrer múltiples objetos y usar “Con”.

Déjame decirte un ejemplo; debe recorrer todas las hojas de trabajo y aplicar todo lo siguiente a todas las celdas de cada hoja de trabajo.

  • Tamaño de fuente: 16
  • Fuente: Verdena

Y en el libro de trabajo, tienes cinco hojas de trabajo, como las que tengo en el siguiente ejemplo:

VBA con declaración (con - terminar con)

Utilice los siguientes pasos para escribir una declaración “Con” anidada.

  1. Primero, necesitas declarar una variable para usar un objeto de hoja de trabajo.
    VBA con declaración (con - terminar con)
  2. Después de eso, como dije, debes usar For Each Loop. Por lo tanto, debe escribir un código con el bucle que pueda recorrer todas las hojas de trabajo.
    VBA con declaración (con - terminar con)
  3. Ahora, ingrese la instrucción with que puede aplicar la configuración de fuente que hemos discutido anteriormente. Para hacer referencia a todas las celdas de la hoja de trabajo, puede utilizar las “Celdas” mientras especifica el objeto.
    VBA con declaración (con - terminar con)

Aquí está el código completo que acaba de escribir.

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

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Preguntas frecuentes sobre VBA con declaración (con – terminar con)

Si eres nuevo en el mundo de la programación en VBA (Visual Basic for Applications) o si tienes alguna experiencia pero todavía te encuentras con dudas acerca de la declaración de variables y los bucles, has llegado al lugar correcto. En este artículo, vamos a responder a algunas de las preguntas más frecuentes sobre VBA con declaración y cómo terminar con éxito tus programas.

1. ¿Qué es VBA y por qué debería aprenderlo?

VBA es un lenguaje de programación desarrollado por Microsoft que se utiliza principalmente para la automatización de tareas en aplicaciones de Office como Excel, Word y Access. Aprender VBA te permitirá mejorar tu eficiencia y productividad al automatizar procesos repetitivos y tediosos, ahorrándote tiempo y esfuerzo.

2. ¿Qué significa “declarar una variable”?

Declarar una variable en VBA significa especificar su tipo de datos y asignarle un nombre. Al declarar una variable, le estamos diciendo al programa qué tipo de valor va a almacenar en esa variable. Algunos tipos de datos comunes en VBA son Integer (entero), String (cadena de caracteres) y Boolean (verdadero/falso).

3. ¿Por qué debo declarar las variables?

Declarar las variables en VBA es una buena práctica de programación por varias razones. En primer lugar, ayuda a mejorar la legibilidad del código, ya que sabremos qué tipo de datos esperamos en cada variable. Además, también nos ayuda a prevenir errores, ya que el programa nos alertará si intentamos asignar un valor de un tipo no compatible a una variable que ha sido declarada con un tipo específico.

4. ¿Cómo puedo declarar una variable en VBA?

Para declarar una variable en VBA, se utiliza la palabra reservada “Dim” seguida del nombre de la variable y su tipo de datos. Por ejemplo, si queremos declarar una variable llamada “edad” que almacene un valor entero, escribiríamos:

Dim edad As Integer

También podemos asignar un valor inicial a la variable al momento de declararla:

Dim nombre As String = "Juan"

5. ¿Qué significa “terminar con” en VBA?

“Terminar con” en VBA se refiere a finalizar un bucle o una estructura de control. En VBA, se utiliza la palabra reservada “End” para finalizar un bucle o una estructura de control como un “If” o un “Select Case”. Es importante asegurarse de cerrar todas las estructuras de control correctamente para evitar errores de ejecución en el programa.

6. ¿Cuáles son los bucles más comunes utilizados en VBA?

En VBA, los bucles más comunes son el bucle “For…Next” y el bucle “Do…Loop”. El bucle “For…Next” se utiliza cuando sabemos la cantidad exacta de iteraciones que queremos realizar. El bucle “Do…Loop” se utiliza cuando no sabemos la cantidad exacta de iteraciones y queremos que el bucle se repita hasta que se cumpla una condición específica.

Si deseas obtener más información sobre la declaración de variables y los bucles en VBA, te recomendamos consultar los siguientes recursos:

Esperamos que estas preguntas frecuentes hayan aclarado algunas de tus dudas sobre la declaración de variables y los bucles en VBA. Recuerda practicar y experimentar con el código para obtener una comprensión más profunda de estos conceptos. ¡Buena suerte en tu camino hacia la maestría en VBA!

Deja un comentario