Dam_Filtrar con combobox por mes vb Excel

Nuevamente con otra consulta que no logro resolver... XD

El caso es el siguiente. Tengo una hoja de excel con una columna fecha (dd/mm/aaaa) lo quisiera es que al diseñar un formulario me permita filtrar esa columna en un combobox pero por mes es decir:

Que el combobox despliegue ENERO, FEBRERO, MARZO... Y me filtre la columna por todo el mes que corresponde,¿sera posible? De ser así

1 Respuesta

Respuesta
1

E stimado, tienes pendiente valorar una respuesta.


Regresando a esta pregunta, si es posible filtrar por nombre de mes, existen varias formas, pero antes de presentar alguna forma, en dónde quieres el resultado del filtro, en un listbox, en otra hoja, en la misma hoja con autofiltro, ¿en la misma hoja con filtro avanzado?

¿También es importante que me digas cómo estás cargando los nombres de los meses en el combobox?

A ver, el resultado lo quiero en la misma hoja, en realidad lo solicitado ya lo tengo, el detalle es que para poder filtrar por meses tuve que crear una columna con los meses y crear una lista con los meses para el combobox el cual ya esta cargado, por ahora tengo este código:

Private Sub ComboBox1_Change()
If ComboBox1 <> "" Then
ActiveSheet.Range("$A$1:$B$396").AutoFilter Field:=2, Criteria1:=ComboBox1
End If
Range("A1").Select
End Sub
Private Sub CommandButton1_Click()
TextBox1 = ""
ComboBox1 = ""
Range("A1").AutoFilter
Range("A1").AutoFilter
TextBox1.SetFocus
End Sub
Private Sub TextBox1_Change()
If TextBox1 <> "" Then
ActiveSheet.Range("$A$1:$B$396").AutoFilter Field:=4, Criteria1:="*" & TextBox1 & "*"
End If
End Sub
Private Sub UserForm_Initialize()
For Each celda In Range("Mes")
ComboBox1.AddItem celda.Value
Next celda
End Sub

¿Ahora es posible que se haga sin necessidad de crear una columna más? Gracias.

ya califique la respuesta pendiente, gracias.

Estoy algo confundido, no sé qué estás cargando en el combo, estás cargando los números del 1 al 12, o estás cargando las palabras "enero", "febrero", "marzo", hasta "diciembre"

Qué es lo que tienes en la columna B, tienes fechas, tienes el número de mes, tienes las palabras "enero", "febrero", "marzo", hasta "diciembre"


Voy a su poner que en la columna B tienes la fecha, por ejemplo 19/05/2016, y que en el combobox quieres tener las palabras "enero", "febrero", "marzo", hasta "diciembre"

Entonces, te anexo todo el código, de esta forma no requieres la columna adicional, ni tampoco una columna para cargar los meses al combo.

Private Sub ComboBox1_Change()
'Por.Dante Amor
    If ComboBox1 = "" Then Exit Sub
    If ComboBox1.ListIndex = -1 Then Exit Sub
    mes = ComboBox1.ListIndex + 21
    If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
    u = Range("B" & Rows.Count).End(xlUp).Row
    ActiveSheet.Range("A1:D" & u).AutoFilter Field:=2, Criteria1:=mes, Operator:=xlFilterDynamic
    Range("A1").Select
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    For i = 1 To 12 'Para cargar los nombres de los meses en mayúsculas
        ComboBox1.AddItem UCase(Format(DateSerial(Year(Date), i, 1), "MMMM"))
    Next
End Sub
'
Private Sub CommandButton1_Click()
    TextBox1 = ""
    ComboBox1 = ""
    Range("A1").AutoFilter
    Range("A1").AutoFilter
    TextBox1.SetFocus
End Sub
'
Private Sub TextBox1_Change()
    If TextBox1 <> "" Then
        ActiveSheet.Range("$A$1:$B$396").AutoFilter Field:=4, Criteria1:="*" & TextBox1 & "*"
    End If
End Sub

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Estimado Dante, soy una persona que recién se inicia en el ámbito de la informática, y dejame decirte que no dejas de sorprenderme con la ayuda que siempre brindas a los usuarios de todoexpertos, felicidades y sigue así, muchas gracias...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas