20 marzo, 2023

COMPROBAR SI EXISTEN ERRORES EN LAS FORMULAS DE NUESTRO ARCHIVO CON VBA

Hola a todos!

Espero que estéis bien 🙂

En el post de hoy voy a tratar el tema de los errores en fórmulas y cómo podemos detectarlos utilizando VBA.

Una forma de hacer esto sin recurrir a macros, es entrando en la ficha Inicio > «Ir a Especial» y seleccionar «Celdas con fórmulas» (aunque no las marcará):

COMPROBAR SI EXISTEN ERRORES EN LAS FORMULAS DE NUESTRO ARCHIVO CON VBA

O utilizando la ficha formato condicional que permite verificar y marcar cualquier error en el rango indicado:

COMPROBAR SI EXISTEN ERRORES EN LAS FORMULAS DE NUESTRO ARCHIVO CON VBA2

Pero siempre está bien crear nuevas alternativas que agilicen nuestros procesos, para este caso implementaré una macro que verifique en cada hoja si existen errores y en caso afirmativo, pinte de rojo la celda y muestre un mensaje de advertencia indicando que existen errores.

Como en el post anterior traté el tema de los métodos de depreciación, y el archivo tiene bastantes fórmulas nos servirá de ejemplo.

Para ello voy a crear cuatro pestañas con el mismo archivo, pero introduciendo errores en las fórmulas para luego detectarlos, en cada hoja introduciré un error distinto para comprobar que la macro funciona correctamente.

Y a continuación ejecuto el siguiente código:

Sub BUSCAR_ERRORES()
'Declaramos variables
Dim i As Integer, nHoja As Integer, X As Integer
'Contamos las hojas que tenemos en nuestros libro
nHoja = ActiveWorkbook.Worksheets.Count
'Iniciamos un loop para recorrer todas las hojas
For i = 1 To nHoja
Sheets(i).Select
Range("A1").Select
'Detectamos si existen errores en las hojas y marcamos celdas en rojo
'Controlamos error que se muestra si no existen formulas con errores
On Error Resume Next
Selection.SpecialCells(xlCellTypeFormulas, 16).Select
If Err.Number "1004" Then
X = X + 1
Selection.Interior.Color = vbRed
End If
On Error GoTo 0
Next
'Mostramos mensaje informativo o de advertencia
If X > 0 Then
MsgBox ("REVISA EL ARCHIVO, EXISTEN ERRORES"), vbExclamation, "INFORME"
Else
MsgBox ("ARCHIVO SIN ERRORES"), vbInformation, "INFORME"
End If
End Sub

El resultado es el siguiente:

Hoja1:

COMPROBAR SI EXISTEN ERRORES EN LAS FORMULAS DE NUESTRO ARCHIVO CON VBA3

Hoja2:

COMPROBAR SI EXISTEN ERRORES EN LAS FORMULAS DE NUESTRO ARCHIVO CON VBA4

Hoja3:

COMPROBAR SI EXISTEN ERRORES EN LAS FORMULAS DE NUESTRO ARCHIVO CON VBA5

Y en la hoja4 no hay nada marcado porque no existen errores:

COMPROBAR SI EXISTEN ERRORES EN LAS FORMULAS DE NUESTRO ARCHIVO CON VBA6

Esta macro tiene la ventaja de ser muy rápida y que la podemos aplicar de una vez a todo el libro. Sin duda resulta de gran ayuda para evitar equivocaciones en nuestros cálculos!.

Espero que os resulte útil, no cuesta nada pegar la macro en un módulo estándar y ejecutarla 🙂

Descarga el archivo de ejemplo pulsando en: COMPROBAR SI EXISTEN ERRORES EN LAS FÓRMULAS DE NUESTROS ARCHIVOS CON VBA

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Comparte este post

Un comentario en «COMPROBAR SI EXISTEN ERRORES EN LAS FORMULAS DE NUESTRO ARCHIVO CON VBA»

  1. Buen aporte.

    Solo que yo quería incluirlo como un control dentro de un código que ya tengo creado.
    Pero me aparece en rojo la siguiente línea: «If Err.Number «1004» Then».
    Y cuando lo ejecuto me dice: «Error de compilación: error de sintaxis.»

    ¿Qué ocurrirá?

    Gracias

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies