Está en la página 1de 4

Mostrar el valor seleccionado de

un ListBox en Excel vba


BY SERGIO ALEJANDRO CAMPOS · 26 MAY, 2015
Le he desarrollado un pequeño ejemplo donde vemos la manera de
obtener el valor de un Item seleccionado de un ListBox. Recordemos
que un ListBox es un control ActiveX el cual nos permitirá tener una lista
de valores, la cual podemos alimentarla a nuestro gusto.
► Si deseas conocer más ejemplos con el control ListBox da clic aquí.

Este ejemplo contiene los siguientes controles:

1. Formulario (UserForm). No es precisamente un control.


2. Un cuadro de lista (ListBox).
3. Dos botones (CommandButton).
Cómo funciona
Nuestro formulario se llama UserForm1, el cual primero llamaremos con
la siguiente instrucción:
Private Sub CommandButton1_Click()

'Botón Formulario de Hoja1


'
UserForm1.Show
'
End Sub

Al mostrarte el formulario veremos dos botones. Si presionamos el que


dice Llenar lista, el ListBox se llenará con el nombre de las hojas del
archivo activo, como se muestra en la Figura 1.
Figura 1. Alimentar Cuadro de lista.
El código utilizado para llenar la lista es el siguiente:

'Botón Llenar lista


Private Sub CommandButton1_Click()
'
'Recorremos los nombres de las hojas
For Each Hoja In ActiveWorkbook.Sheets
'
Me.ListBox1.AddItem Hoja.Name
'
Next Hoja
'
End Sub

Con el nombre de las hojas en el ListBox, ahora podemos proceder a


elegir cualquier elemento de la lista y presionando el botón Hoja elegida,
se nos mostrará un cuadro de mensaje con el nombre elegido. Como en
la Figura 2.
Figura 2. Mostrar valor de Item seleccionado en ListBox.
El siguiente código hará que mostremos el valor elegido:

'Botón Hoja elegida


Private Sub CommandButton2_Click()
'
'Declaramos variables
Dim Cuenta As Integer
Dim Numero As Integer
Dim j As Integer
Dim i As Integer
'
Cuenta = Me.ListBox1.ListCount
'
'Validamos que haya un elemento seleccionado.
For j = 0 To Cuenta - 1
If Me.ListBox1.Selected(j) = True Then
Numero = Numero + 1
End If
Next j
'
'La hoja seleccionada se pasará al ListBox de hojas visibles.
For i = 0 To Cuenta - 1
If Me.ListBox1.Selected(i) = True Then
MsgBox Me.ListBox1.List(i), vbInformation, "EXCELeINFO"
End If
Next i
'
End Sub
Anexos
Si deseas hacer tus propias pruebas en el siguiente link podrás
descargar el ejemplo:

:: Descarga Mostrar valor seleccionado de un ListBox.rar

También podría gustarte