Array de fechas, ¿Qué significa esto?

Tengo una macro que he gravado, al aplicar un filtro en un rango de fechas, y la grabadora me ha devuelto el siguiente resultado:

    ActiveSheet.Range("$A$1:$F$6751").AutoFilter Field:=2, Operator:=  xlFilterValues, Criteria2:=Array(1, "1/27/2012")

Mi duda es la siguiente:

¿Qué significa esto?

Array(1, "1/27/2012"), puesto que es de vital importancia su entendimiento, para poder crear una macro que me filtre meses de años específicos, y la verdad es que no había visto un array así.

1 respuesta

Respuesta
2

Cuando filtras por fecha tienes varios niveles, el nivel 0 es para año, En este filtro considera el año, aunque veas la fecha "12/8/2014", solamente considera el año. Ejemplo:

    ActiveSheet.Range("$A$1:$F$20").AutoFilter Field:=2, Operator:=xlFilterValues, _
        Criteria2:=Array(0, "12/8/2014")


El nivel 1 es para el mes, En este filtro considera el mes y el año, aunque veas la fecha "11/6/2014", solamente considera el mes y el año.

    ActiveSheet.Range("$A$1:$F$20").AutoFilter Field:=2, Operator:=xlFilterValues, _
        Criteria2:=Array(1, "11/6/2014")


Y el nivel 2 es para el día, en este caso considera toda la fecha:

    ActiveSheet.Range("$A$1:$F$20").AutoFilter Field:=2, Operator:=xlFilterValues, _
        Criteria2:=Array(2, "11/1/2014")

Recibe un cordial saludo y feliz fiestas! Dante Amor

No olvides valorar la respuesta.

¡Gracias!, muy completa tu respuesta, me sera de mucha utilidad, felices fiestas también para ti, noble labor la tuya, un abrazo.

¿Me surgió una duda, La fecha, es string, o Long?, ¿Consideras pertinente que abra otra consulta?

En vba excel no tienes que declarar las variables, no te compliques.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas