¿Cómo alinear texto en columnas de un listbox?

Tengo el siguiente código para pasar información de un rango de celdas de Excel a un listbox de VBA:
Listbox1. Clear 'borra el listbox
listbox1.ColumnWidths = 40 & ";" & 130 & ";" & 40
Dim rngRango As Range
    Range("A1").Select
    ufila = Range("A1").End(xlDown).Row
    Set rngRango = Range("A1:C" & ufila)
        Me.listbox1.ColumnCount = rngRango.Columns.Count
        Me.listbox1.RowSource = rngRango.Address(external:=True)
    Set rngRango = Nothing
Lo que quiero es que las columnas 1 y 3 queden con alineación a la derecha y la columna 2 con alineación a la izquierda. ¿Es eso posible?
¿O qué otra alternativa tengo para mostrar la información de un rango de celdas de Excel en un userform de VBA?

1 Respuesta

Respuesta
2
No se puede alinear col de modo independiente en un control Listbox, por lo que te recomiendo coloques la prop TextAlign en 2 (centrado)
No hay mejor alternativa para mostrar un rango de vs columnas que este control ListBox
Nota: el ancho de col se puede establecer directamente en la prop ColumnWidhts del control, sin necesidad de programarlo.
PD) Todo lo que necesites saber para programar Userforms y formularios en general lo encontrarás en mi manual de Formularios.
Ok listo, muchas gracias, se me ocurrió crear 3 listbox uno para cada columna y enlazarlos con el evento change para que cuando cambie la selección en uno los otros dos también, sin embargo, quiero desactivar la barra de desplazamiento vertical, pero pues parecer ser que no se puede, ¿o si?
Gracias
Me parece que te estás complicando... pero es tu decisión.
Cuando hay más datos del que se pueda observar en el control, se colocan las barras para que puedas moverte. No hay modo de quitarlas, salvo agrandando el control para que todo quepa.
La barra al pie se coloca si la suma de las col es mayor que el ancho del control (prop Width)
Hola Elsa, pues si puedes tener razón en que me estoy complicando, lo que pasa es que tengo el grave problema de querer que todo salga casi perfecto.
Entonces que sucede, tengo una base de datos donde tengo columnas numéricas y de texto, entonces pues las de texto quiero que queden alineadas a la izquierda y las de números a la derecha, por cuestiones de presentación, pero pues simplemente por eso.
Y pues comentaba lo de las barras, porque al mover una barra no se mueven las otras, entonces eso si no me cuadra.
Pero bueno, muchas gracias y eso sería todo. Voy a ver como me descomplico, je je

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas