Buscar #¡REF! En hojas de excel con Macro

Cordial saludo y gracias de antemano.

Mi problema consiste en que me pasan una hoja de excel con muchas columnas y muchos registros en algunas celdas por alguna razón aparece " #¡REF! " y necesito hacer una macro que me permita encontrarlos y me los marque de un color para que sea mas fácil localizarlo para corregir ese valor.

He intentado con:

 For i = 2 To 30
 v = Cells(i, 1)
 Cells(i, 1).Select
 If v = "#¡REF!" Then
 Selection.Font.ColorIndex = 3
 Else
 If v = "" Then  'Aca valida si esta vacia la celda
 Selection.Interior.ColorIndex = 3
 End If
 End If
 Next

pero no me funciona.

Les agradezco su colaboración

Gustavo

1 respuesta

Respuesta
1

Te propongo una solución sin macro, sigue mis pasos:

-Marca con el ratón todo el volumen de datos que quieres analizar.

-Pulsa F5 y en la pantalla que aparece pulsa el botón ESPECIAL

-En la siguiente pantalla selecciona la opción de Celdas con Fórmulas y deja solo el pinchito puesto en Errores y pulsa aceptar.

En este instante tendrás seleccionados al mismo tiempo todas las celdas que contenían algún error, inmediatamente lo que tienes que hacer (sin hacer pulsaciones en la planilla) es seleccionar un color de relleno y se pintarán todos al mismo tiempo.

Muchas gracias Luis por tu tiempo y conocimiento.

Lo que pasa es que las celdas no tienen formula ademas es una auditoria que me toca hacer y devolver el archivo con las inconsistencias marcadas ya que s para personas que tienen escaso conocimiento. Yo lo hice con buscar/reemplazar y me funciona pero ellos necesitan ver donde esta el error.

Agradezco tu ayuda.

Gustavo

Bien, entonces ha lo siguiente: marca con el ratón todo el volumen de datos que quieres analizar y después ejecuta esta macro. Te coloreará de rojo todos los errores.

Sub errores()
'Por Luismondelo
For Each celda In Selection
If IsError(celda) Then celda.Interior.ColorIndex = 3
Next
End Sub

recuerda finalizar la consulta

Saludos Luis.

Use la función IsError() y asi fue que me quedo

Sub Validacion()
 For i = 2 To 2750
 v = Cells(i, 1)
 Cells(i, 1).Select
 If IsError(v) Then
 Selection.Font.ColorIndex = 0
 End If
 If v = "" Then
 Selection.Interior.ColorIndex = 3
 End If
 Next
 Cells(1, 1).Select
End Sub

Pero cuando llega a la celda donde esta #¡REF! saca un mensaje diciendo " No coinciden los tipos"

Agradeciendo tu ayuda.

Gustavo

Prueba asi:

Sub Validacion()
For i = 2 To 2750
 cells(i,1).select
 If IsError(activecell) Then
 Selection.Font.ColorIndex = 0
 End If
 If activecell.value = "" Then
 Selection.Interior.ColorIndex = 3
 End If
Next
 Cells(1, 1).Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas