Excel - Como hago un filtro en vba para seleccionar rangos de fecha

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 5 puestos en Excel (en relación al último mes)
Gráfica de Excel

Como hago un filtro en vba para seleccionar rangos de fecha

Publicado por seba64 (1 intervención) el 13/04/2017 03:06:40
Saludos:
Encontré un código para realizar un filtro, que adapte a mi proyecto. El filtro selecciona completamente las filas que coinciden con el criterio. El criterio es dado por dos combobox fechainicio y fechafin. El filtro es muy rápido, encuentra las coincidencias con el criterio y selecciona la fila con Entirerow.select. Todo funciona bien, pero necesito que en lugar de agregar a la seleccion toda la fila, agregue la celda que esté en la columna F.

La estructura de la hoja es:
codigo area sub area descripcion mes

El proyecto tiene dos combobox: cmbInicio, cmbFin y un boton: Button

El código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Button_Click()
    Mes = "Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre"
    If cmbInicio.ListIndex > cmbFin.ListIndex Then aux = cmbInicio.ListIndex: cmbInicio.ListIndex = cmbFin.ListIndex: cmbFin.ListIndex = aux
    Sheets("Datos").Select
    a = cmbInicio.ListIndex + 1: b = cmbFin.ListIndex + 1
    For i = a To b
        criterio = criterio & Split(mes, ",")(i - 1) & ","
    Next i
    criterio = Mid(criterio, 1, Len(criterio) - 1)
    criterio = Split(criterio, ",")
    Range("E:E").AutoFilter field:=1, Criteria1:=criterio, Operator:=xlFilterValues
    Range("E2").Select
    ActiveCell.Offset(1, 0).Select
    If Cells(Columns("E").Rows.Count, "E").End(xlUp).Row > 1 Then
        Range(Selection, Cells(Columns("E").Rows.Count, "E").End(xlUp)).SpecialCells(xlCellTypeVisible).EntireRow.Select
    End If
    Selection.AutoFilter
    Application.ScreenUpdating = True
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder