Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Formularios VBA y Listbox, Formularios VBA - Uso y propiedades del ListBox

Formularios VBA - Uso y propiedades del ListBox

| 20 comentarios

El cuadro de lista o ListBox muestra una serie de valores con o sin una barra de desplazamiento y el usuario puede seleccionar uno o más de estos.

Propiedades del ListBox

BoundColumn: Dentro de un ListBox pueden desplegarse más de una columna de datos a la vez así como más de una fila. Cuando se establece el valor del BoundColumn este determinará la columna que se devuelve como el valor actual del ListBox. Digamos que tenemos un ListBox con tres columnas y 10 filas de datos. Si fijamos el BoundColumn en 2 y luego seleccionamos la quinta fila, el valor actual de la lista sería lo que está en la fila 5 - Columna 3. La razón es que sería la columna 3 y no la columna 2, porque la primera columna es siempre cero.

ColumnCount: Aquí es donde podemos establecer el número de columnas que serán mostradas. Fijar este valor en cero significa que ninguna columna será desplegada. Para mostrar todas las columnas se pude fijar este valor en -1.

RowSource:  Es la localización a la que se encuentran enlazados los datos, por ejemplo, una celda en una hoja de cálculo. El valor actual de la fuente de los datos puede ser almacenado en la propiedad Value de un control. Sin embargo, el control no almacena los datos, sino que sólo muestra la información que se almacena en la fuente de datos.

ColumnHeads:  Esta condición puede ser verdadera o falsa. Si se establece en TRUE utilizará la primera fila de los datos como los encabezados de las columnas en el ListBox.

ColumnWidth:  Determina el ancho que cada columna utilizará, los valores deben estar separados por ";" y deben estar expresados en unidades como cadenas de texto.

  • 6 cm; 7 cm; 6 cm
  • 1.5 in; 0.8; 2.5 in
  • blank (Por defecto todas la columnas tendrán el mismo ancho)

ListStyle:  Esta propiedad determina la forma en la que la lista se verá. Hay sólo dos opciones, fmListStylePlain o fmListStyleOption. La primera es el valor por defecto y no tiene ningún efecto visual real. La segunda pondrá pequeños círculos a la derecha de cada elemento en el control ListBox que se selecciona al comprobar que el usuario ha hecho clic en el elemento.

MatchEntry: Esta propiedad se utiliza para ayudar al usuario en la búsqueda de un determinado elemento de la lista. Entra en vigor cuando el usuario empieza a escribir.

  • fmMatchEntryFirstLetter (0): Coincidencia básica. Se busca la siguiente entrada que comienza con el carácter introducido. Escribir repetidamente la misma letra avanzará sobre todas las entradas que comienzan con ella.
  • FmMatchEntryComplete (1): Concordancia ampliada. A medida que cada caracter  es ingresado se buscan todas las palabras que coincidan con estos.
  • FmMatchEntryNone (2): Sin concordancia.
MultiSelect: Esto determina si el usuario puede seleccionar más de un artículo en el ListBox.
  •  fmMultiSelectSingle(0): Sólo un ítem puede ser seleccionado.
  • fmMultiSelectMulti(1): Presionar la barra espaciadora o hacer clic selecciona o anula la selección de un ítem
  • fmMultiSelectExtended(2):  Al pulsar SHIFT y hacer clic con el ratón o pulsando la tecla SHIFT y una de las teclas de flecha, se extiende la selección desde el elemento seleccionado anteriormente hasta el elemento actual. Al presionar la tecla CTRL y hacer clic con el ratón se selecciona o anula la selección de un elemento.

TopIndex: Fija y/o devuelve el ítem que aparecerá en la parte superior de la lista. Así que si se tienen 10 filas, al establecer TopIndex en 5 el usuario sólo podrá ver las últimas 6 filas.

Aplicación:

Lo primero que debemos hacer es crear un nuevo UserForm y agregamos 3 cuadros de texto, un botón y por supuesto un ListView.

form11 300x175, Formularios VBA - Uso y propiedades del ListBox

Enseguida ingresamos algunos datos en algunas de las hojas vacías de nuestro libro como se muestra a continuación.

form21 300x181, Formularios VBA - Uso y propiedades del ListBox

En las propiedades del ListBox debemos asegurarnos de fijar el ColumnCount en 3 debido a que tenemos tres columnas de datos que queremos mostrar. Y por últimos el RowSource lo alimentamos con la dirección en la que se encuentra nuestra tabla de datos en este caso debemos ingresar el valor "Hoja2!A2:C9". Por último programamos nuestro formulario de la siguiente forma.
form3 300x170, Formularios VBA - Uso y propiedades del ListBox

Ahora probamos el ListBox. Al hacer clic en el botón guardar luego de seleccionar una fila aparece un aviso que nos recuerda la elección.

form4 300x226, Formularios VBA - Uso y propiedades del ListBox

Elaborado por: Sandro Calzada

20 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.