Configurar ColumnWidths de un listbox

Hola Dam, volviendo con con el tema de ayer,la macro que me enviaste funciona a la perfección tal y como necesitaba. Ahora, he estado probando de distintas maneras para asignar un ancho determinado solo a las columnas que se muestran pero no consigo como hacerlo

¿como asignar el ancho de cada columna que se muestra?

Gracias

1 Respuesta

Respuesta
1

Podría ser con esto:

Private Sub UserForm_Activate()
'revisa los datos de la columna, si toda la columna es vacío
'el ancho de la columna es 0
'también toma el valor máximo de la columna para obtener el ancho
'po.dam
ListBox1.ColumnCount = 8
llena = 0
largomax = 0
For j = 1 To 8 'columnas
    For i = 1 To 10 'filas
        If Cells(i, j) <> "" Then
            If largomax < Len(Cells(i, j)) Then _
                largomax = Len(Cells(i, j))
            llena = 1
            'i = 10
        End If
    Next
    'If llena = 0 Then
        'la columna está vacía
        Select Case j
            Case 1
                c1 = Round(largomax / 4)
            Case 2
                c2 = Round(largomax / 4)
            Case 3
                c3 = Round(largomax / 4)
            Case 4
                c4 = Round(largomax / 4)
            Case 5
                c5 = Round(largomax / 4)
            Case 6
                c6 = Round(largomax / 4)
            Case 7
                c7 = Round(largomax / 4)
            Case 8
                c8 = Round(largomax / 4)
        End Select
    'End If
    llena = 0
    largomax = 0
Next
ListBox1.ColumnWidths = c1 & "cm;" & c2 & "cm;" & c3 & "cm;" & c4 & "cm;" & _
                        c5 & "cm;" & c6 & "cm;" & c7 & "cm;" & c8 & "cm"
ListBox1.RowSource = "A1:H10"
End Sub

saludos.dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas