contar celdas con colores en un intervalo de fechas

6 envíos / 0 nuevos
Último envío
DudaPorEmail
Imagen de DudaPorEmail
Offline
última acción: Hace 11 meses 1 semana
Nivel 1 - 200 puntos
alta: 15/10/2013 - 07:56
Puntos: 823
contar celdas con colores en un intervalo de fechas

tengo un calendario con días en diferente color, y quiero que cuente los días del color que le pida, pero si está entre unas fechas determinadas, por ejemplo, quiero que me cuente los días amarillos que estan entre el 02/09/2013 y el 14/11/2013.
Por Visual Basic he encontrado contar.color, pero dentro de un rango y claro no es lo que quiero.
Gracias

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 25 mins 53 segs
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 10560
Re: contar celdas con colores en un intervalo de fechas
Excel no detecta los colores como argumentos de las fórmulas, así que hay que recurrir a VBA.
Si además quieres comprobar las fechas entre un intervalo debes añadir otra comprobación adicional a la función
Por un lado comprobarías la propiedad .interior.colorindex de la celda
Por otro tienes que comprobar que el valor de la celda (supongo que la fecha está en la propia celda) está comprendido en este intervalo.
no sé cómo es exactamente esa función contar.color que comentas, pero el resultado final podría ser parecido a este:
 
 
Function CuentaColorIntervalo(RangoAContar As Range, CeldacolorReferencia As Range, minimo As Date, maximo As Date) As Double
    Dim celda As Range
    For Each celda In RangoAContar
        If celda.Interior.ColorIndex = CeldacolorReferencia.Cells(1, 1).Interior.ColorIndex _
         And celda.Value >= minimo And celda.Value <= maximo _
         Then CuentaColorIntervalo = CuentaColorIntervalo + 1
    Next celda
    Set celda = Nothing
End Function
 

 

Data Tools Suite
datos y tablas con Excel

DudaPorEmail
Imagen de DudaPorEmail
Offline
última acción: Hace 11 meses 1 semana
Nivel 1 - 200 puntos
alta: 15/10/2013 - 07:56
Puntos: 823
Re: contar celdas con colores en un intervalo de fechas

Muchísismas gracias, es lo que buscaba. 

 

-----

Esta duda fue enviada por email a través de la página de contacto del sitio.

Se plantea en el foro a través de esta cuenta de usuario genérica para hacerela pública,

por si puede ser de ayuda a alguien más.

Roberto (no verificado)
Imagen de Roberto
Explicación

Estimado Pacomegia,

Me podrias explicar un poco, no entiendo mucho de lenguaje lo copié y pegé, pero solo me marcó 0, ahora desconosco si es solo para que el rango sea una columna o necesita algun dato extra. Por lo que creo entender el primer valor es colocar el rango donde está la información a contar; celda donde se encuenra el color que quiero que cuente en el rango; la fecha minima; la fecha maxima.

Disculpa mi ignorancia y espero tu respuesta.

Roberto.

Cron
Imagen de Cron
Offline
última acción: Hace 1 mes 3 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12455
Esto es una función. La debes

Esto es una función. La debes utilizar dentro del código. Dentro de otra función o procedimiento se utiliza de esta manera:

[...]código[...]

total = sumarcolor(celda donde está el color a contar,rango de celdas que quieres contar)

[...]más código[...]

O también la puedes utilizar en la celda en cuestión, de la siguiente manera:

=sumarcolor(A1;A2:A10)

con las siguientes salvedades:

  1. Al código que te ha puesto Paco debes ponerle como primera línea "Application.Volatile". Si no, tendrás que darle a recalcular cada vez y es un rollo. A cambio, si la hoja es muy grande, puede hacerse pesado el recálculo.
  2. A1 es la celda donde está el color a sumar
  3. A2:A10 es el rango de celdas donde quieres contar el color
  4. He puesto un punto y coma porque ese es mi separador de listas. Si tienes Excel en inglés, probablemente tendrás que utilizar una coma, de la misma manera que he puesto en el código

Espero que te sirva.

Moriwaki-97
Imagen de Moriwaki-97
Offline
última acción: Hace 10 meses 1 semana
alta: 20/01/2019 - 12:09
Puntos: 10
Hola a todos soy novato en el

Hola a todos soy novato en el foro, de hecho este es mi primer mensaje, así que muchas gracias a todos por vuestra ayuda.

He probado esta formula y me da error y no se que estoy haciendo mal.

He insertado el modulo VBA y he copiado el codigo que habeis creado pero tengo dudas de si a la hora de escribir la fórmula lo he hecho correctamente:

=CuentaColorIntervalo(E8:K8;J23;K18;K19)

Donde el rango es entre E8 y K8

Color de la celda de referencia es: J23

Fecha inicial: K18

Fecha fin: K19

He indicado la formula correctamente?

 

Muchas gracias por vuestra colaboración.