Macro de excel Búsqueda o consulta entre 2 Fechas

Tengo una hoja de calculo en la que dentro tengo una hoja que se llama ventas y ahí tengo un registros de datos, tal que así. Destino, Caja, Fecha, Código, Detalle etc... Me guisara poder hacer una macro que en una hoja llamada CONSULTAS, pudiera meter una fecha inicial y una fecha final, y me mostrá todos los registros que este entre esas 2 fechas. De esas Hoja llamada ventas.

Respuesta
1

Puedes hacerlo de esta manera, pero necesitas agregar las siguientes dos librerías a tu libro.

    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim dFechaInicio As Date
    Dim dFechaFinalizacion As Date
        dFechaInicio = ThisWorkbook.Sheets("Consultas").Range("A1")         ' fecha inicial
        dFechaFinalizacion = ThisWorkbook.Sheets("Consultas").Range("B2")   ' fecha final
        Set cnn = New ADODB.Connection
            With cnn
            .Provider = "Microsoft.ACE.OLEDB.12.0"
            .ConnectionString = "Data Source=" & ThisWorkbook.FullName
            .Properties("Extended Properties") = "Excel 12.0; HDR=Yes"
            .Open
            End With
        Set rst = New ADODB.Recordset
            With rst
            .ActiveConnection = cnn
            .CursorLocation = adUseClient
            .CursorType = adOpenDynamic
            .Source = "SELECT [Destino], [Caja], [Fecha], [Codigo], [Detalle] FROM [Ventas$] WHERE [Fecha] Between #" & dFechaInicio & "# AND #" & dFechaFinalizacion & "#;"
            .Open
            End With
        ThisWorkbook. Sheets("Consultas"). Range("A5"). CopyFromRecordset rst ' rango donde necesitas pegar el resultado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas