Jump to content
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

Share this post


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.

Share this post


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!

Share this post


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

 

Share this post


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. 

 

Share this post


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 

Share this post


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.




  • Posts

    • Buenos dias, Lo primero quiero dar las gracias por aceptarme en este foro, contribuiré en él todo lo que pueda. En segundo lugar, queria compartir un archivo con el que llevo trabajando varios dias y no consigo dar con una solución para el problema que os expongo a continuación: En este archivo, tengo en la columna "A" cadenas de texto de las cuales deseo extraer un "codigo" que no siempre es el mismo (Los diferentes "codigos" que deseo extraer son los que se muestran en la tabla de la derecha"), el problema principal que me he encontrado es que cada "codigo" tiene un numero de caracteres diferentes por lo que dificulta su formulación. Ademas, el "codigo" que busco no siempre se encuentra al principio de la cadena de texto y en ocasiones en una misma cadena de texto aparecen varios "codigos". El resultado deseado seria el siguiente, en la columna "B" quedaria el codigo extraido en funcion de la tabla de la derecha y en columna "C" el nombre asignado a este "codigo": Espero haber explicado bien el problema, quedo atento a vuestas opiniones. Muchisimas gracias. Un saludo. Prueba.xlsx
    • Hola, Estoy con una macro donde tengo que filtrar por varias condiciones una tabla y de momento solo he sabido añadir dos de ellas.   Necesito Filtrar la tabla por TIPO = CONSUMO Y ESTADO <> STOCK Y además decirle que me filtre por TIPO = SERVICIOS O PRODUCTOS independientemente del Estado.   He sabido filtrar por lo primero, pero no sé cómo decirle la segunda parte. Os adjunto un ejemplo. Muchas gracias!     ejemplofiltro (1).7z
    • Hola @rafernan Una posible solución, espero sea de utilidad. -->> Sub Print_1() Cc = Sheets("LISTADO").Cells(9, 9).Value    Sheets("PEGATINA").PrintOut From:=1, to:=Cc ', Copies:=Cc, Collate:=True, IgnorePrintAreas:=False ''For i = 1 To Cc ''     Sheets("PEGATINA").PrintOut ''Next i End Sub <<-- Nos comentas
    • Es perfecto , es lo que trate de hacer y no me resulto, solo una duda, se podrá modificar de alguna manera que  la suma no sea mayor al promedio? no se si sera muy complejo eso. Pero de verdad muchas gracias.
    • Saludos @rsoto.conta te dejo una forma, es las mas simple, ordenas la deuda, y vas asignando valores maximo y minimo a cada cobrador, al final la distribución es uniforme, lo único es que si el valor máximo es muy diferente al resto, pues siempre el primer seleccionado de seguro tendrá un promedio mucho mayor Distribuir Deuda.xlsm
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy