Contar celdas con relleno rojo de un libro

Hola buenas tardes expertos tengo un problema que necesito de su ayuda.
Necesito una macro que me permita saber cuantas celdas con relleno rojo hay en todo un libro de excel.
Abrir un libro nuevo y en este agregar la macro y que me pida a que libro necesito aplicarle la macro y que me devuelva el numero de celdas que contienen el formato de relleno rojo.
Mil gracias ojala se pueda hacer esto. Les agradezco su tiempo

1 Respuesta

Respuesta
1
Te dejo el código que hace lo que, supongo entendí, necesitas. Al respecto tengo unas observaciones:
1. En vista de que no pude lograr que me reconociera efectivamente el color, la celda inicial (desde donde lanzas la macro) debe tener el mismo color que vas a ir a buscar en el otro libro.
2. Al finalizar el proceso te pone en la celda derecha, el numero de celdas que tienen el color en el libro analizado, y en seguida (a la derecha) el link para acceder al libro analizado
Espero haber sido de ayuda. Quedo pendiente de tu éxito. Saludos
**************************************************************
Sub ContarFormatos()
''Creada por FSerrano ([email protected]) en 110630 para joauctemoc en TodoExpertos.com
''Cuenta el numero de celdas que coinciden, dentro del libro elegido, con el formato de la celda actual
'Captura el identificador del color de la celda actual
cor = ActiveCell.Interior.Color
'Solicita el archivo que se va a analizar
archivo = Application.GetOpenFilename
'Abre el archivo a analizar
Workbooks.Open archivo
'Establece cuantas hojas tiene el archivo a analizar
For i = 1 To ActiveWorkbook.Sheets.Count
Sheets(i).Activate
'Establece la ultima fila y la ultima columna que contienen datos en la hoja activa
fila = ActiveCell.SpecialCells(xlLastCell).Row
columna = ActiveCell.SpecialCells(xlLastCell).Column
'Activa la celda A1
ActiveSheet.Range("A1").Select
'Recorre hacia abajo y la derecha las celdas de la hoja activa
For j = 1 To columna
For k = 1 To fila
ActiveSheet.Cells(k, j).Activate
If ActiveCell.Interior.Color = cor Then
contador = contador + 1
End If
Next
Next
Next
'Cierra el libro sin guardar cambios
ActiveWorkbook.Close savechanges = False
'Ingresa los resultados obtenidos
ActiveCell.Offset(0, 1) = contador
ActiveCell.Offset(0, 2).Hyperlinks.Add anchor:=ActiveCell.Offset(0, 2), Address:=archivo, ScreenTip:="Click para abrir el archivo"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas