Depurar macros en Excel

Cuando nos encontramos con errores en nuestras macros podemos depurar el código utilizando el Editor de Visual Basic para encontrar fácilmente los errores que pueda contener nuestro código VBA.  Considera la siguiente macro:

Depurar macros en Excel

Depurar código VBA

Para iniciar con la depuración del código podemos seleccionar la opción de menú Depuración > Paso a paso por instrucciones o simplemente pulsar la tecla F8.

Depurar código VBA en Excel

Esto hará que se inicie la ejecución en la primera línea, la cual se mostrará con un fondo amarillo indicando que esa instrucción es la que esta por ejecutarse.

Debugging de macros en Excel

Para continuar con la depuración debemos pulsar de nuevo la tecla F8 hasta llegar al final del código. Cada vez que pulsamos la techa F8 suceden las siguientes cosas:

  1. Excel ejecuta la instrucción que está sombreada en color amarillo
  2. Si Excel encuentra un error en la instrucción, entonces enviará un mensaje de error.
  3. Por el contrario, si no hubo error en dicha instrucción, entonces Excel marcará en amarillo la siguiente instrucción a ejecutar.

De esta manera podemos ejecutar cada una de las líneas de nuestro código VBA y validar que no exista error alguno. Regresando a nuestro ejemplo, al momento de llegar a la tercera instrucción y pulsar la tecla F8, Excel enviará el siguiente mensaje de error:

Error en depuración de macros en Excel

El mensaje nos advierte que el objeto no admite esa propiedad o método y se está refiriendo al objeto Range en donde el método Value no está escrito de manera correcta y por lo tanto el depurador de VBA no reconoce dicha propiedad. Pulsa el botón Aceptar para cerrar el cuadro de diálogo y poder corregir el error en el código.

Ya hemos hablado sobre los diferentes tipos de errores en VBA y la depuración nos ayudará a probar nuestro código y a encontrar la gran mayoría de los errores que podamos tener. Es probable que al principio veas a la depuración como un trabajo muy exhaustivo pero cuando tus programas y macros comiencen a crecer entonces verás todos los beneficios que nos da la depuración de macros en Excel.

Artículos relacionados
Objetos, propiedades y métodos

4 pensamientos en “Depurar macros en Excel

  1. ElioSanchezG

    Con respecto a lo que es depuración de macros, ¿Qué significa “Error en el método ‘Value’ de objeto ‘Range’” y como puedo evitar este problema? tengo un sistema de ecuaciones y quiero mostrar los resultados en diversas celdas en Excel (por ejemplo: “A26″, “A28″ y “A30″) y al utilizar varias veces “Range(“”).Value” se crea un lazo infinito y tengo que cerrar el programa a la fuerza…
    Saludos Cordiales

    1. Moisés Ortíz Autor

      Hola Elio, es complicado saber con exactitud lo que ocasiona el error sin tener más detalles de tu macro, pero tal vez estás intentando asignar una fórmula a la propiedad .Value cuando en realidad deberías asignarla a la propiedad .Formula
      Intenta con ese cambio y tal vez se resuelva el problema.

  2. Jorge

    Estimado Moises:
    Me ocurre algo extraño, cuando tengo una macro con parámetros no puedo ejecutar la depuración pero cuando quito los parámetros, es decir solo pongo los paracentesis() si me lo permite, podrías explicarme que puedo estar haciendo mal
    Muchas gracias

    1. Moises Ortiz Autor

      Hola Jorge, es necesario llamar dicha función proporcionado sus parámetros. Excel no puede iniciar la depuración si no tiene un valor para cada uno de los argumentos.
      Una opción es crear otra función sin parámetros en donde lo único que harás será llamar a la otra función con sus parámetros respectivos.