Notifications
Clear all

Tamanho Colunas Listbox

2 Posts
2 Usuários
0 Reactions
1,847 Visualizações
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
Topic starter
 

Bom dia.

Tenho o código que listo em uma ListBox varias colunas (eu utilizo 5)

Private Sub UserForm_Initialize()
Dim arrayItems()
    With Planilha03
        ReDim arrayItems(10 To .UsedRange.Rows.Count, 26 To .UsedRange.Columns.Count)
        Me.UF01_ListBox1.ColumnCount = .UsedRange.Columns.Count
        For linha = 10 To .UsedRange.Rows.Count
            Me.UF01_ListBox1.AddItem
            For coluna = 26 To .UsedRange.Columns.Count
                arrayItems(linha, coluna) = .Cells(linha, coluna).Value
            Next coluna
        Next linha
        
        Me.UF01_ListBox1.List = arrayItems()
    End With
End Sub

Porém todas são listadas com a mesma largura na List
Alguém sabe se é possível alterar a largura na ListBox de uma coluna para outra?

Exemplo, coluna 1 no excel deixo com largura de 12
Coluna 2 com largura de 40

Trazer as mesmas características para a ListBox

Obrigado!

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 16/05/2018 8:46 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

carlosrgs,

Bom dia!

Para fazer isso você deve alterar a propriedade Column Widths do ListBox de modo a definir a largura de cada coluna que deseja. As larguras seguem a sequência das colunas existentes e devem ser separadas por ponto e vírgula. A propriedade pode ser alterada em tempo de design e em tempo de execução. Veja, abaixo, ajuda da própria Microsoft existente no VBA.

Propriedade ColumnWidths

Especifica a largura de cada coluna de uma caixa de combinação ou caixa de listagem de várias colunas.

Sintaxe

objeto.ColumnWidths [= Seqüência]

A sintaxe da propriedade ColumnWidths possui as partes a seguir:

Parte Descrição
objeto Obrigatória. Um objeto válido.
Seqüência Opcional. Define a largura da coluna em pontos. Uma definição de -1 ou em branco resulta em uma largura calculada. Uma largura 0 oculta uma coluna. Para especificar uma unidade de medida diferente, inclua a unidade de medida. Um valor maior que 0 especifica explicitamente a largura da coluna.

Definições

Para separar entradas de colunas, utilize pontos-e-vírgulas (;) como separadores de lista. No Windows, utilize o separador de listas especificado na seção Configurações regionais do Painel de controle do Windows para alterar este valor.

Qualquer uma ou todas definições da propriedade ColumnWidths podem ficar em branco. Uma definição em branco pode ser criada digitando um separador de listas sem um valor precedente.

Se você especificar -1 na página de propriedades, o valor exibido na página de propriedades ficará em branco.

Para calcular larguras de coluna quando ColumnsWidths estiver em branco ou for -1, a largura do controle será dividida igualmente entre todas as colunas da lista. Se a soma das larguras de coluna especificadas exceder a largura do controle, a lista será alinhada à esquerda dentro do controle e uma ou mais das colunas situadas à extrema direita não serão exibidas. Os usuários podem rolar a lista utilizando a barra de rolagem horizontal para exibir as colunas da extrema direita.

A largura mínima de coluna calculada é de 72 pontos (1 polegada). Para produzir colunas mais estreitas do que isso, você deve especificar a largura explicitamente.

A menos que expressamente especificado, as larguras de coluna são medidas em pontos. Para especificar uma outra unidade de medida, inclua a unidade como parte dos valores. Os exemplos a seguir especificam larguras de coluna em várias unidades de medida e descrevem como as várias definições se ajustariam em uma caixa de listagem de três colunas que possui 4 polegadas de largura.

Definição Efeito
90;72;90 A primeira coluna tem 90 pontos (1,25 polegada), a segunda coluna tem 72 pontos (1 polegada) e a terceira coluna tem 90 pontos.
6 cm;0;6 cm A primeira coluna tem 6 centímetros; a segunda coluna está oculta; a terceira coluna tem 6 centímetros. Uma vez que parte da terceira coluna está visível, é exibida uma barra de rolagem horizontal.
1.5 in;0;2.5 in A primeira coluna tem 1,5 polegadas, a segunda coluna está oculta e a terceira coluna tem 2,5 polegadas.
2 in;;2 in A primeira coluna tem 2 polegadas, a segunda coluna tem 1 polegada (padrão) e a terceira coluna tem 2 polegadas. Uma vez que somente metade da terceira coluna está visível, é exibida uma barra de rolagem horizontal.
(Em branco) Todas as três colunas têm a mesma largura (1,33 polegadas).

Comentários

Em uma caixa de combinação, o sistema exibe a coluna designada pela propriedade TextColumn na parte da caixa de texto do controle.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 16/05/2018 8:58 am