Ejemplo 11
Ahora vamos a generar un formulario que permita colocar los elementos seleccionados en un cuadro de lista
Procedimiento:
Luego de insertar un UserForm, inserte y defina los siguientes cuadros de control:
| Control | Nombre, caption |
| Comando | CmdOk, Ok |
| Comando | CmdFin, Terminar |
| Ccomando | CmdListar Mostrar Lista |
| Cuadro de Lista | LstCaja |
| Cuadro de texto | TxtCaja |
Una muestra del formulario es la siguiente imagen

Primero almacenamos una lista de nombres en el cuadro de lista. Esto lo hacemos en el procedimiento para CmdListar, de manera que, al hacer clic en este botón, se genera la lista..
Private Sub CmdListar_Click()
LstCaja.AddItem "Ilmer"
LstCaja.AddItem "Carlos"
LstCaja.AddItem "César"
LstCaja.AddItem "Miguel"
LstCaja.AddItem "Pedro"
LstCaja.AddItem "Bals"
LstCaja.AddItem "Yack"
LstCaja.AddItem "Pipo"
LstCaja.AddItem "Josue"
LstCaja.AddItem "Manolo"
End Sub
Luego de seleccionar uno de la lista, al hacer clic en el botón Ok, el elemento seleccionado se visualiza en el cuadro de texto, TxtLista. Esto se aprecia en el procedimiento
Private Sub CmdOk_Click()
' Extrae varios de uno en uno
TxtCaja.Text = TxtCaja.Text + Chr(13) + LstCaja.List(LstCaja.ListIndex)
' Desactiva lo que está seleccionado
LstCaja.Selected(LstCaja.ListIndex) = False
' Extrae los que están seleccionados
End Sub
La instrucción: LstCaja.Selected(LstCaja.ListIndex) = False
permite desactivar la selección del elemento luego de hacer clic en el botón Ok.
El código completo se muestra a continuación:
Private Sub CmdFin_Click()
End
End Sub
Private Sub CmdListar_Click()
LstCaja.AddItem "Ilmer"
LstCaja.AddItem "Carlos"
LstCaja.AddItem "César"
LstCaja.AddItem "Miguel"
LstCaja.AddItem "Pedro"
LstCaja.AddItem "Bals"
LstCaja.AddItem "Yack"
LstCaja.AddItem "Pipo"
LstCaja.AddItem "Josue"
LstCaja.AddItem "Manolo"
End Sub
Private Sub CmdOk_Click()
' Extrae varios de uno en uno
TxtCaja.Text = TxtCaja.Text + Chr(13) + LstCaja.List(LstCaja.ListIndex)
' Desactiva lo que está seleccionado
LstCaja.Selected(LstCaja.ListIndex) = False
' Extrae los que están seleccionados
End Sub
Private Sub LstCaja_Click()
LstCaja.MultiSelect = fmMultiSelectExtended
End Sub
Síguenos en: Facebook Sobre aulaClic Política de Cookies