Abrir un formulario desde la elección hecha en un listbox

Les consulto en esta oportunidad como puedo hacer para que con un doble click abrir otro formulario. Tengo un listbox que me muestra las primeras 4 columnas de una tabla sin embargo me gustaría mostrar a petición mucha mas informacion en otro formulario con otros textbox.

El nuevo formulario tiene el textbox2 para completarse con la columna E, textbox3 columna F, textbox4 columna G.

3 Respuestas

Respuesta
1

Este es el resultado de la macro, en el evento dobleclick o click del listbox del formulario 1 tecleas el código que esta abajo de esta imagen y es todo

codigo para el formulario 1
Private Sub ListBox1_Click()
UserForm2.Show
End Sub
codigo para el formulario 2
Private Sub UserForm_Initialize()
With UserForm1.ListBox1
TextBox1.Text = .List(.ListIndex, 0)
TextBox2.Text = .List(.ListIndex, 1)
TextBox3.Text = .List(.ListIndex, 2)
End With
End Sub
Respuesta
2

Pon lo siguiente en tu formulario1

Private Sub listbox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  UserForm2.Show
End Sub

El nuevo formulario tiene el textbox2 para completarse con la columna E, textbox3 columna F, textbox4 columna G.

¿Quieres llenar textbox del userform2 pero de cuál fila?

Dante! Muy buenas. La fila que quisiera se pase al otro formulario es la que uno selecciona con el mouse al hacer dobleclick (o un simple click)

Mi listbox1 se llena con el filtro realizado en un textbox1, este presenta un resumen con 4 columnas, que va de la columna A:D, sin embargo en la misma fila a la derecha hay más información que es la que necesitaría visualizar en el otro formulario.

Saludos y gracias Dante.

¿Quieres hacer doble clic en un listbox o en la hoja?

En el listbox.

Dante! Con las primeras líneas que me enviaste se abre el segundo formulario al hacer doble click en el listbox, siento no haberlo probado. Ahora resta que se llenen los textbox, gracias nevamente.

El segundo formulario al hacer doble click en el listbox, siento no haberlo probado. Ahora resta que se llenen los textbox, gracias nevamente.

Entonces regreso a mi pregunta original.

¿Quieres llenar textbox del userform2 pero de cuál fila?

El nuevo formulario tiene el textbox2 para completarse con la columna E, textbox3 columna F, textbox4 columna G.

Pon el siguiente código en el userform2

Private Sub UserForm_Initialize()
  TextBox2.Value = Range("E" & ActiveCell.Row).Value
  TextBox3.Value = Range("F" & ActiveCell.Row).Value
  TextBox4.Value = Range("G" & ActiveCell.Row).Value
End Sub

Muchas gracias Dante! Agradezco tu dedicación hacia nosotros. Funciona perfectamente.

Una consulta más. Si el userform1 tiene la propiedad False en ShowModal al seleccionar nuevamente desde el listbox no se actualiza, hay posibilidad de que si lo haga?
Gracias otra vez!

Depende cómo cargaste el listbox, si lo hiciste con Rowsorce y actualizas la hoja, entonces sí se actualiza el listbox. Pero si lo cargaste con AddItem o List, entonces debes cargar nuevamente el listbox.

¡Gracias! El listbox se carga con AddItem.

Estoy contento de ayudarte, ¡Gracias! Por comentar.

Respuesta
1

Creo que este ejemplo te aportará algo más

https://youtu.be/0UuR_zRQCB4 Fijate como se puede pasar datos de listbox a otro abriendo otro formulario donde se muestran todos los productos de una base de datos, luego dando doble clik o enter se pasan a otro listbox fijate te puede ser util

Mas ejemplos con listbox obtienes en el link hay de todo es cuestion de buscar el que más se adapte a lo que queires.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas