Detección de color en Excel a través de VBA

Resuelto
Kilyox -  
 Kilyox -
Hola,
me gustaría saber cómo detectar si hay alguna celda en rojo (por ejemplo) en una hoja de Excel y, en caso afirmativo, incrementar un contador con el número de celdas encontradas.
Solo he logrado detectar si la celda seleccionada es roja o no, pero eso basta con tener ojos...
No conozco muy bien el VBA, pero tengo un buen dominio de VB.
¿Podrían ayudarme, por favor?
¡Gracias de antemano!
Configuración: Windows XP Firefox 3.0.1

4 respuestas

  1. anocheda Mensajes publicados 55 Estado Miembro 3
     
    Houhou!!!!1 mi primer código VBA

    Sub ColorRojo()
    Dim i, j, n As Integer

    n=0
    For i = 1 To 10
    For j = 1 To 10
    If Cells(i, j).Interior.ColorIndex = 3 Then n = n + 1
    Next j
    Next i

    Cells(1, 1) = n

    End Sub

    Cuenta el número de celdas rojas entre la fila 10 y la columna 10
    puedes cambiar el tamaño de la búsqueda aumentando i y j

    el resultado se muestra en A1, puedes cambiarlo
    si quieres cambiar el color 3, es rojo, el resto no lo sé
    0
  2. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Hola,
    para obtener la lista de colorIndex, presiona F1 y en búsqueda PatternColorIndex, propiedad
    Vas a tener la página con los colores y sus números.
    ¡Hasta luego!
    --
    La experiencia enseña más seguro que el consejo. (André Gide)
    0
  3. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Para la macro...
    Sub ChercheCouleur() Dim Coul As Integer Dim Cel As Range Dim Compteur As Integer Coul = 3 Sheets("Feuil1").Select ' adaptar al nombre de la hoja For Each Cel In Range("A1:J10") 'adaptar el rango a las celdas a probar If Cel.Interior.ColorIndex = Coul Then Compteur = Compteur + 1 Next MsgBox "Hay " & Compteur & " celdas con el color N° " & Coul End Sub

    A+
    --
    La experiencia enseña más seguro que el consejo. (André Gide)
    0
  4. Kilyox
     
    ¡Muchas gracias, son muy eficientes!
    No estaba lejos, pero todavía había que buscar :)
    0