Jump to content
sretamalb

Filtrar Listbox y seleccionar fila filtrada a otro Userform

Recommended Posts

Hola a todos,

Tengo un problema porque al seleccionar una fila filtrada del listbox y presionar el boton, no me arroja lo seleccionado en el otro formulario.

Si yo no ocupo el filtro y selecciono cualquier fila del listbox y presiono el boton, sí me arroja la información en el otro formulario.

Alguien me podría decir que código puedo ocupar para que al momento de que el listbox este filtrado y presione el boton la información en el otro formulario sea la filtrada?

Adjunto ejemplo para mayor claridad.

Muchas gracias.

 

prueba1.xlsm

Share this post


Link to post
Share on other sites
Guest Cacho R

Hola! sretalb.

Me parece que "esto" ya te lo explicó (y mostró) Antoni oportunamente. Diría que si no te pones a estudiar será muy difícil que avances con este proyecto.

En lo que adjunto tienes:

- Una columna (que el usuario no conoce ni administra) con el Nº de la fila para utilizarla -en todo momento- como referencia de la fila de datos.

- Un sólo textbox (en lugar de los 3 que vemos en tu proyecto) para buscar la info simultáneamente en tres campos diferentes.

- La info que coincida con el criterio de búsqueda se despliega en el listbox. Se ven 3 columnas/campos que no son los campos de búsqueda (para mostrar que filtrás por unos campos pero mostrás otros).

- Un botón para transferir la info a la otra hoja.

- Otro botón para alternar entre las dos hojas en cuestión.

- Y un par de ayudas "en línea".

¿Te sirve la guía?...
Saldos, Cacho R.

 

Ejemplo604.xlsm

Edited by Cacho R

Share this post


Link to post
Share on other sites

Hola @Cacho R gracias por responder. Mira la verdad que lo que me ayudo @Antoni fue a cortar y pegar en otra hoja lo seleccionado de un listbox.

Esto es totalmente distinto porque los 3 textbox que tiene el formulario son distintos tipos de busqueda según sea el caso. Y lo que necesito es que cuando uno por ejemplo escribe 5 en el N° Caso y se filtra sólo 1 línea en el listbox, esa línea seleccionada al hacer clic en el botón se debe copiar en la Hoja2.

Si pudieras ayudarme te lo agradecería, porque sin filtrar y sólo seleccionando la fila del listbox funciona, pero el tema es que al momento de filtrar y dejar solo la fila correcta esta no se traspasa la información.

Espero que me puedas ayudar ya que con eso finalizo el proyecto.

Muchas gracias.

Saludos

Share this post


Link to post
Share on other sites
Guest Cacho R
Hace 28 minutos , sretamalb dijo:

me es mas comodo que si uno quiere buscar por factura que escriba en el textbox2, si quiere buscar por N° caso en el textbox1 y así, más que en todos en sólo 1.

Y... ¡Modifica lo que te pasé, entonces! Precisamente te lo pasé para que lo estudies y aprendas lo suficiente como para que desarrolles según tus propios criterios.
Cuando hayas terminado podrás avanzar a la siguiente cuestión problemática.

Saludos, Cacho R.

Share this post


Link to post
Share on other sites
Guest Cacho R
Ahora mismo, sretamalb dijo:

@Cacho R no hay posibilidad que me puedas ayudar con mi archivo?

¿Qué posibilidad tienes de ponerte a estudiar el tema en lugar de pedir a otros que hagan tu trabajo gratuitamente?...

Share this post


Link to post
Share on other sites
Hace 6 horas, sretamalb dijo:

Es lo último que me falta para poder presentarlo.

¿Es un trabajo propio, un examen? En ambos casos deberías seguir el consejo de @Cacho R. En todo caso, y sin ver el archivo, debes usar o mirar los siguientes comandos:

  • Evento Listbox_Click para que actúe al seleccionar la línea
  • Evento .ListCount para saber en qué línea estás
  • Evento .List para ir seleccionando la (Fila,Columna) a copiar a la hoja. Fila será el .ListCount y la primera columna será la "0"

Empieza por ahí y si te lías pregunta

 

Share this post


Link to post
Share on other sites

@Haplox claro si copia la fila, pero por ejemplo si escribes en N° caso el 9, te filtrará efectivamente el caso 9 pero al seleccionarlo y presionar el boton en el otro formulario que se abre mostrará la que corresponde al caso 7, se entiende?

Muchas gracias ojalá tenga solución.

Share this post


Link to post
Share on other sites

@Haplox adjunto el archivo y escribe en el N° de Orden el numero 9, selecciona la fila filtrada y presiona detalle en el formulario que se abre te mostrará todo lo lo relacionado al N° de Orden 1.

Entonces eso falta que al seleccionar lo filtrado también lo muestre en el formulario siguiente.

Ojalá se entienda.

 

prueba1.xlsm

Share this post


Link to post
Share on other sites

@Haplox no la copia, siempre copia la relacionada al N° Orden 1.

Funciona cuando en el listbox se muestran todas las filas y selecciono una, ahí si funciona.

Pero si yo escribo un N° Orden arriba, en el listbox me mostrará la fila correcta, eso está bien. El tema es que si esa fila yo la selecciono y presiono el boton, no me arroja la información correcta en el formulario que se abre.

 

Share this post


Link to post
Share on other sites
Hace 22 horas, sretamalb dijo:

Funciona cuando en el listbox se muestran todas las filas y selecciono una, ahí si funciona.

Vale, ya entiendo tu problema. No puedes actuar en el código como lo haces, pues al filtrar el listbox, tanto su listcount como el listindex son los de los items mostrados, que si solo le sumas 2, generalmente no vas a caer en la fila correspondiente y además por eso siempre te copia la línea cliente 1 (F1 = x + 2).

Si solo tienes mostrada una fila en el listbox, siempre se irá a la fila 2 (x=0). Para que te coja la línea correcta, sustituye por

F1 = ListBox1.List(ListBox1.ListIndex, 0) + 1

Donde 0 es la primera columna, cuyo valor seleccionado coincide con su fila ListIndex+1

Si te he liado pregunta...:rolleyes:

Share this post


Link to post
Share on other sites
Hace 22 minutos , sretamalb dijo:

tu sabes si un libro con una macro puede ser utilizado por 2 computadoras a la vez? 

Ábre nuevo tema, porque si no, no tendrá visibilidad, pero sí... busca en el foro por "compartir libro", que recuerdo que se trataba este tema

Share this post


Link to post
Share on other sites

@Haplox me puedes ayudar por favor?

No sé que pasa que cuando escribo la orden 3 siempre me arroja la primera fila siendo que hay 3 opciones de orden 3. O por ejemplo escribo 4 y selecciono la 2da opcion y me arroja un dato nada que ver. 

Lo mismo pasa si filtro cualquier numero de otro no me copia la fila correcta.

Adjunto ejemplo para ver si alguien me puede ayudar por favor.

prueba1 (2).xlsm

Share this post


Link to post
Share on other sites
Hace 13 horas, sretamalb dijo:

No sé que pasa que cuando escribo la orden 3 siempre me arroja la primera fila siendo que hay 3 opciones de orden 3. O por ejemplo escribo 4 y selecciono la 2da opcion y me arroja un dato nada que ver. 

A ver sretamalb... Te puse cómo solucionarlo

F1 = ListBox1.List(ListBox1.ListIndex, 0) + 1

Y tu sigues con tu código original -_-

71983008_Sinttulo.thumb.jpg.deca469b7b9737d862712a60dd520218.jpg

Sigues con el F1=x+2 y ya se vió que así no funcionaba

 

Share this post


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

×
×
  • Create New...

Important Information

Privacy Policy