Contar registro entre dos fechas

Tengo una tabla en Excel con varias columnas de los cuales una columna contiene Fechas con formato “Fecha Corta

Cuál sería la macro para un userform, que me cuente los registro entre dos fechas que estén registrada en la tabla.

De tal forma que:

  • A ingresar las fechas en los TexBox
  • A pulsar el botón comando del userform
  • Aparezca el resultado del total de filas entre las dos fechas en la etiqueta Label1

1 Respuesta

Respuesta
2

Prueba lo siguiente:

En los textbox ingresa las fechas de esta manera, dd/mm/aaaa por ejemplo, 20 de marzo de 2021 lo capturas como 20/03/2021

Pon lo siguiente en el botón:

Private Sub CommandButton1_Click()
  Dim x As Date
  Dim y As Date
  x = CDate(Format(TextBox1, "mm/dd/yyyy"))
  y = CDate(Format(TextBox2, "mm/dd/yyyy"))
  Label1 = WorksheetFunction.CountIfs(Range("A:A"), ">=" & x, Range("A:A"), "<=" & y)
End Sub

Gracias por la pronta atencion

Esta macro me cuenta todos los registro que existen en la tabla.

Yo necesito es cuantos registro hay entre dos fechas especifica 

La función que tiene la macro está con >= y <= para delimitar la cuenta de los registros. A mí me funciona bien.

Ayúdame a ayudarte, no sé cómo tienes tu información.

Responde en el siguiente orden:

  1. Puedes poner una imagen de cómo tienes los datos.
  2. ¿En cuál columna tienes las fechas?
  3. ¿Qué estás poniendo en cada textbox?

También te comparto mi archivo para que realices pruebas y veas el funcionamiento.

https://drive.google.com/file/d/1njvxcrXoi0QF09a2FNJUO4vs7gnVKXvf/view?usp=sharing 

¡Gracias! 

Hola Dante,

El archivo que me enviaste para que realices pruebas. El formulario presenta problema a partir de la fila 13 (Fecha 13 de marzo). Agradezco la correccion de la Macro.

Anexo imagen de lo señalado

Gracias de antemano

Prueba con el siguiente código:

Private Sub CommandButton1_Click()
  Dim x As Date
  Dim y As Date
  x = CDate(TextBox1)
  y = CDate(TextBox2)
  Label1 = WorksheetFunction.CountIfs(Range("A:A"), ">=" & Format(x, "mm/dd/yyyy"), Range("A:A"), "<=" & Format(y, "mm/dd/yyyy"))
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas