Datos de una base entre ciertas fechas

08/03/2016 - 16:24 por aromeoez | Informe spam
Buenas tardes:
Se que lo que voy a preguntar lo resolveria con una tabla dinamica. Pero lo que quiero es una especie de formulario. A ver si me se explicar.

Tengo una base de datos. De este tipo:
Nombre - Localidad - Kilos - Fecha 1 - Fecha 2 - Fecha 3

Y quiero poder hacer un formulario y poner por ejemplo que me liste solo las lineas que esten entre un rango de fechas sea cual sea la columna donde este.
Por ejemplo:
Quiero que me liste las lineas que esten entre el 1/08 y el 8/08. Pero esa fecha puede estar en cualquier de las 3 columnas de fecha.

Seria un "formulario de filtrados". Porque el siguiente paso es dentro de ese primer filtro que me filtre solo las de cierta localidad.

Entonces lo que quiero es una pestaña con la base de datos.
Otra pestaña donde pueda poner:
Entre "fecha inicial" y "fecha final"
Localidad "________"

Gracias
 

Leer las respuestas

#1 David_erh
09/03/2016 - 23:50 | Informe spam
Hola, cuando vas a realizar filtros sobre fechas podrías tener algunos problemas, para evitar esos problemas debes de convertir las fechas a su formato "long integer".
yo lo hago de esta forma:
'//Fecha menor//
dDate = CDate(form1.Mi_fecha_menor)
mes = Month(dDate)
dia = Day(dDate)
anho = Year(dDate)
dDate = DateSerial(Year(dDate), Month(dDate), Day(dDate)) 'fecha con formato data serial
lDate = dDate 'fecha con formato long integer

'//Fecha mayor//
fDate = CDate(form1.Mi_fecha_mayor)
mes = Month(fDate)
dia = Day(fDate)
anho = Year(fDate)
fDate = DateSerial(Year(fDate), Month(fDate), Day(fDate)) 'fecha con formato data serial
flDate = fDate 'fecha con formato long integer
Con las fechas ay en formato long integer haces el autofiltro:

Sheets("Hoja1").AutoFilterMode = False 'quitamos el filtro previo
Sheets("Hoja1").Range("A1:F1").AutoFilter 'las cabeceras están en al fila 1 de A1:F1

Sheets("Lista").Range("A1:I1").AutoFilter Field:=1, Criteria1:=">=" & lDate, Operator:=xlAnd, Criteria2:="<=" & flDate

Luego el resultado de ese filtrado lo puedes cargar en un listbox de un formulario.

Para mayor información:
http://www.ozgrid.com/VBA/autofilter-vba-dates.htm

Saludos

David

Preguntas similares