Jump to content

Archived

This topic is now archived and is closed to further replies.

Manuyes

seleccionar mes en combobox y cargar fila en listbox

Recommended Posts

Hola, se que esto esta repetido hasta las saciedad, hace poco @Antoni resolvió algo similar a @Visory aunque he intentado adaptarlo no he sido capaz...

Me gustaría diseñar una pequeña base de entrenamientos, donde poder guardar los entrenamientos a realizar y que me mostrara los entrenamientos del mes o de meses anteriores, el caso es que me surgen muchas dudas. Había pensado en realizar un combobox en el que pudiera  seleccionar un mes y me mostrara en un listbox los entrenamientos para ese mes, pero la primera duda es si cargo los meses "Enero,Febrero... diciembre" como le digo que busque en mi columna B si el formato dd/mm/yyyy. 

Se podría mostrar un calendario o algo similar que marcase que días hay entreneamientos.

Quizas haya algo parecido en el foro, por donde poder guiarme, pero no he conseguido encontarlo.

Entrenamientos.xlsm

Link to post
Share on other sites

Hola @Manuyes, puedes colocar este código en el formulario:

v

Private Sub ComboMeses_Change()
lista
End Sub

Private Sub UserForm_Initialize()
For x = 2017 To 2020: ComboAños.AddItem x: Next
For x = 1 To 12: ComboMeses.AddItem UCase(MonthName(x)): Next
End Sub

Private Sub lista(): On Error Resume Next
Me.ListBox1.Clear

For Each cel In Range([A2], [A1].End(xlDown))

If CDbl(Year(cel)) = CDbl(Me.ComboAños) And CDbl(Month(cel)) = CDbl(Me.ComboMeses.ListIndex + 1) Then
Me.ListBox1.AddItem CDate(cel)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = cel.Offset(0, 1)
End If
Next

End Sub

Comentas.

Saludos.

Link to post
Share on other sites
Hace 2 horas, Manuyes dijo:

Hola, se que esto esta repetido hasta las saciedad, hace poco @Antoni resolvió algo similar a @Visory aunque he intentado adaptarlo no he sido capaz...

Me gustaría diseñar una pequeña base de entrenamientos, donde poder guardar los entrenamientos a realizar y que me mostrara los entrenamientos del mes o de meses anteriores, el caso es que me surgen muchas dudas. Había pensado en realizar un combobox en el que pudiera  seleccionar un mes y me mostrara en un listbox los entrenamientos para ese mes, pero la primera duda es si cargo los meses "Enero,Febrero... diciembre" como le digo que busque en mi columna B si el formato dd/mm/yyyy. 

Se podría mostrar un calendario o algo similar que marcase que días hay entrenamientos.

Hola @Manuyes y @Riddle. Parece que tenemos aquí a un corredor...

Ignoro que tan especializado es lo que quieres hacer (o tal vez sea por aprender a programarlo), pero si todo se reduce a filtrar entrenamientos por fecha, con aplicar un filtro, este mismo te da filtros preestablecidos, mismos que podrías aplicar y utilizar el grabador para obtener el código, ya después puedes investigar el como codificar el seleccionar las celdas filtradas y cargarlas al listbox.
como-filtrar-fechas-en-excel-02.png

Saludos!

Link to post
Share on other sites

Muchas Gracias @Riddle, funcionaba perfectamente, salvo que solo cargaba una columna, pero lo modifique para que mostrara dos.

Muchas gracias también @digitalBoy, si soy un corredeor, aunque es por salud.... pero de vez en cuando me gusta participar en alguna competición... En cuanto a lo de la base para seguir mis entrenamientos  lo hago por curiosidad e intentar aprender, por eso me pego con cosas básicas, los filtros si sabia aplicarlos, aunque no se me ocurrió usar la grabadora, la verdad es que la he usado poco, pero intentare usarla la próxima vez antes.

En cuanto al gran @Antoni, que decir... Lo primero muchismas gracias por un poco de tu tiempo, no deja de sorprenderme todo lo que haces (sin ofender a nadie, que aquí hay muchos expertos). Aunque me gustaría ver lo que me mandas, cuando intento abrirlo me dice "error en el método 'Rows' de objeto ' _global' " no se que puede ser, si me pudieseis decir lo que es. 

Lo dicho gracias a todos

 

Link to post
Share on other sites

He podido verlo "IMPRESIONANTE".

Lo dicho, no deja de sorprenderme, señor @Antoni, me da miedo hasta tocarlo, no sea que se rompa....

Voy a intentar que sea un poco mas grande el listBox, una pregunta, por rizar el rizo, podría hacerse que imprimiera lo que muestra el formulario (mes y entrenamientos)

De nuevo mil gracias. 

 

Link to post
Share on other sites
En 6/12/2017 at 14:52 , Manuyes dijo:

podría hacerse que imprimiera lo que muestra el formulario (mes y entrenamientos)

Agrega un botón y utiliza esto

On Error Resume Next
With Me.Entrenamiento
    Hoja2.Range("A1").CurrentRegion.Offset(1).ClearContents
    vf = .ListCount: vc = .ColumnCount
    Hoja2.Range("A2").Resize(vf, vc) = .List
    Hoja2.PrintOut
End With
On Error GoTo 0

 

Saludos a todos 

Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




×
×
  • Create New...

Important Information

Privacy Policy