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!!

Anuncios

¿Te ha gustado?. Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s