Contar if (en visual basic) códigos de una tabla que cumplan con la condición de un código y un rango de fechas

Vengo otra vez por acá y quisiera pedirles ayuda en esto que estoy haciendo. Tengo una tabla como en la siguiente imagen;

Ocupo varios códigos VBA en este proyecto, pero me falta uno que no puedo realizar. Quiero contar con la condición if para contar un registro en particular dentro de la tabla, como por ejemplo el numero 009 pero que ademas me cuente solo desde el 2 hasta el 11 de agosto. El resultado de contar 009 en toda la tabla con la condición de fechas, seria de 3. Yo no lo puedo hacer en visual basic con la condición if.

Preguntas: ¿Se puede hacer esta operación en vba? . ¿Lo estaré haciendo mal?.

Creo que estoy utilizando 2 rangos con solo un criterio. El rango de fechas está en otras celdas por cada código de registro (del 001 hasta el 099) tengo la fecha inicial y final (con formato Date). Este criterio lo quiero ocupar para el conteo de la tabla con los códigos expuestos.

La primera de fila de la tabla contiene las fechas de un mes calendario (Ejem: Agosto). Le cambié el formato de vista pero cada celda está en el formato date: (Ejem: 02-08-2017).

Eso amigos, espero me puedan ayudar en esto que me tiene acomplejado.

2 Respuestas

Respuesta
1

Tenés que ubicar las columnas del rango a buscar (*) y luego estas serían las instrucciones para la función. En mi ejemplo el dato a buscar lo coloqué en A1 (ajusta a tu criterio y necesidad).

rgo = Range(Cells(3, col1), Cells(20, col2)).Address
canti = Application.WorksheetFunction.CountIf(Range(rgo), [A1])
MsgBox canti

(*) Para obtener las variables col1 y col2 podés recorrer la fila de días o buscarlas con Set... temas que seguramente ya lo podrás resolver sino deja 'otra' consulta puntual.

Respuesta

Este ejemplo, en vez de sumar como muestra el ejemplo utiliza count.

https://youtu.be/GhpxZWwLhyc

https://youtu.be/d4VgP82naPI

Este otro ejemplo utiliza count

http://www.programarexcel.com/2014/12/como-contar-valores-con-macro-funcion.html 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas