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谩):
O utilizando la ficha formato condicional que permite verificar y marcar cualquier error en el rango indicado:
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:
Hoja2:
Hoja3:
Y en la hoja4 no hay nada marcado porque no existen errores:
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.
隆隆Muchas gracias!!
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