¿Cómo mostrar una columna u otra en ListBox en Excel?

A tod@s!

Tengo un formulario que al cargarse, meto los datos ordenados de una tabla mostrando los valores de la columna 3... Apreciendo varios nombres.

La instrucción que uso es :

ListAuditoresInterlocutores.ColumnWidths = "0 pt;0 pt;20 pt;0 pt;0 pt;0 pt;0 pt;0 pt"

Al hacer click en el listbox me carga el valor en un TextBox y es cuando ordeno que me muestre la cuarta columna en el listbox con la instrucción...

ListAuditoresInterlocutores.ColumnWidths = "0 pt;0 pt;0 pt;20 pt;0 pt;0 pt;0 pt;0 pt"

Sin embargo sigue mostrando los valores de la columna 3... ¿qué es lo que falla?

Respuesta
2

Lo que menciona Adriel es pertinente, hay que tener presente que las columnas se numeran a partir de 0 para el envío o lectura de algún valor.

De todos modos, leyendo que '...Al hacer click en el listbox ...' creo que debieras cambiarlo por el evento Doble Click. De ese modo está probado que responde correctamente.

Dejo un par de instrucciones que pueden servir de guía. Tu macro será la del DobleClick.

Private Sub UserForm_Initialize()     'ejemplo del llenado de todas las col, al inicio
ListBox1.ColumnWidths = "40 pt;50 pt;20 pt;50 pt;50 pt;0 pt;0 pt;0 pt"
End Sub
Private Sub CommandButton2_Click()    'botón que muestra la 3er col de la lista
ListBox1.ColumnWidths = "0 pt;0 pt;40 pt;0 pt;0 pt;0 pt;0 pt;0 pt"
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'opcional: enviar el contenido de alguna col del listbox a un textbox. 
'Aquí con '1' se envía el contenido de la 2da col de la lista.
txtNumeroFact = ListBox1.List(ListBox1.ListIndex, 1)
'muestra solo la 4ta col de la lista
ListBox1.ColumnWidths = "0 pt;0 pt;0 pt;20 pt;0 pt;0 pt;0 pt;0 pt"
End Sub

Sdos y no olvides valorar las consultas. Tienes todavía una pendiente conmigo ;(

¿Serías tan amable de marcar una valoración a mi respuesta para que se me quite de la lista de 'preguntas que esperan respuesta' cuando está claro que ya te respondí oportunamente?

Se agradece.

Sdos!

2 respuestas más de otros expertos

Respuesta
1

Las columnas en el listbox inicia de 0, entonces la cuarta columna

 ListAuditoresInterlocutores.ColumnWidths = "0 pt;0 pt;0 pt;0 pt;20 pt;0 pt;0 pt;0 pt"

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas