Como enviar datos de una pagina a otra?

Lo que pasa es que estoy trabajando en un Formulario en VBA en excel, y es el siguiente

Como ven estoy trabajando en un MultiPage y estoy ubicado en la Pagina 2 o "Datos", lo que necesito es que cuando el usuario seleccione un elemento de la listbox y de le click al botón "Llevar a Consulta" le lleve solo el nombre del elemento que selecciono a la pagina 1 al siguiente ComboBox

Como dije necesito que se lleve SOLO el nombre a esa lista desplegable que estoy señalando, he intentado hacer esto con este código

Private Sub btnllevar_Click()
    For I = 0 To lbAPU.ListCount - 1
        If lbAPU.Selected(I) Then
            frmConsultar.lbxAPU.AddItem lbAPU.List(I)
            frmConsultar.lbxAPU.List(frmConsultar.lbxAPU.ListCount - 1, 1) = lbAPU.List(I, 1)
        End If
    Next
    Unload Me
End Sub

Pero eso termina por cerrarme el formulario...

2 respuestas

Respuesta
2

Hol.a

Antes que nada, si no quieres que eso cierre el "USerForm", pues borra la línea "Unload Me" que evidentemente es la que lo cierra.

Abraham Valencia

Gracias, al borrar eso me ha servido, aunque vi que cometí un error y subí la misma imagen, esta es
"Lo que pasa es que estoy trabajando en un Formulario en VBA en excel, y es el siguiente"
Era esta imagen

Solo necesito que se lleve el nombre y con mi código actual se lleva el nombre y el precio, además me gustaría modificarlo para que en vez de llevarlo a la Listbox llamada

lbxAPU

Se lo lleve al combobox llamado

¿cbxitm 

Para eso solo debo reemplazar el nombre o que más debería agregar?

A ver, para estar seguro, tiene diversos valores en tu "ListBox" y quieres seleccionar uno solo de sus valores y enviarlo a un "ComboBox" ¿cierto? De ser así ¿Ya hay datos en en ese "ComboBox" o está vacío? De estar vacío ¿por qué quieres un solo valor en un "ComboBox"? ¿O vas a seguir enviándole valores?

Abraham Valencia

Si, se selecciona el y se envía al combobox el cual esta vació, lo he pensado y se podrían enviar varios datos en tanto solo se envié el nombre o los nombres ya que ese nombre se usara para otro proceso

Este ejemplo supone que el "ListBox" tiene su propiedad "MultiSelect" en "1-fmMultiSelectMulti" y que cada vez que presionas el botón el "ComboBox" se "resetea" y se vuelve a llenar. Ah, solo toma en cuenta la primera columna del "ListBox":

Private Sub CommandButton1_Click()
Dim x As Integer
ComboBox1.Clear
For x = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(x) Then
        ComboBox1.AddItem ListBox1.List(x)
    End If
Next
MsgBox "Datos enviados"
End Sub

Salu2

Abraham Valencia

Muchas gracias por la ayuda y las aclaraciones, veo que no iba tan perdido después de todo.

Pues sí, realmente estabas cerca, tanto así que traté de mantener lo que tú usaste.

Salu2

Abraham Valencia

Respuesta
1

Unos ejemplos con formularios que te pueden servir

https://www.programarexcel.com/p/userform.html 

Te paso otros pero fijate ahí encontrarás algo que se ajuste a lo que requieres

https://youtu.be/ut0Ss2vPsTE

https://youtu.be/wDXNL2p6f9c

https://youtu.be/KCHAk9-dAPM

https://youtu.be/sWrUt9kItsg

https://youtu.be/7c7mV8fe4sw

https://youtu.be/Y-R3ZBQLbyo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas