Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Alinhar a direita

Esclarecimentos e dúvidas sob o Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel publicado no site e blog http://www.tomasvasquez.com.br
NERI INACIO
Colaborador
Colaborador
Mensagens: 62
Registrado em: Sáb Fev 27, 2016 7:31 pm

Alinhar a direita

Mensagem por NERI INACIO »

Encontrei um comando para o Listbox, mas não estou conseguindo ajustar. A linha em amarelo quero formatar para alinhar a direita. Pelo que vi na internet com o comando abaixo dela daria certo, mas não estou conseguindo.
Alguma ajuda?

Private Sub formatarcolunas()

MyList(R, 7) = Format(.Range("h" & R + 1), "R$ #,0.00") 'VALOR
' MyList(R, 7) = Right(Space(16) & Format(.Range("h" & R + 1), "#,##0.00"), 16)
Next R
End With

lstLista.List = MyList
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


NERI INACIO
Colaborador
Colaborador
Mensagens: 62
Registrado em: Sáb Fev 27, 2016 7:31 pm

Re: Alinhar a direita

Mensagem por NERI INACIO »

Pronto, finalmente consegui ajustar: Quem quiser alinhar um listbox a direita (quando é valor) tem que seguir os seguintes passos:
1- Colocar a fonte no Listbox para "Courier New"
2 - Ajustar o comando (neste caso alinhei as colunas F e G
MyList(R, 5) = .Range("F" & R + 1) 'VALOR
MyList(R, 5) = Right(Space(20) & Format(.Range("F" & R + 1), "R$ #,0.00"), 20) 'VALOR

MyList(R, 6) = .Range("G" & R + 1) 'VALOR
MyList(R, 6) = Right(Space(20) & Format(.Range("G" & R + 1), "R$ #,##0.00"), 20) 'VALOR

Comando completo:
'AQUI FIXA A LISTA
'FOCA 900 LINHAS E OITO COLUNAS
Dim MyList(900, 10)
Dim R As Integer

'AQUI AS PROPRIEDADES DO LISTBOX VIA CODIGO
Application.ShowToolTips = True


With Worksheets("Dados")
'AQUI SERÃO DECLARADAS AS COLUNAS FOCADAS
For R = 0 To 900
MyList(R, 0) = .Range("A" & R + 1)
MyList(R, 1) = .Range("B" & R + 1)
MyList(R, 2) = .Range("C" & R + 1)
MyList(R, 3) = .Range("D" & R + 1)
MyList(R, 4) = .Range("E" & R + 1)
MyList(R, 5) = .Range("F" & R + 1) 'VALOR
MyList(R, 6) = .Range("G" & R + 1) 'VALOR
MyList(R, 7) = .Range("H" & R + 1) 'VALOR
MyList(R, 8) = .Range("I" & R + 1)
MyList(R, 9) = .Range("J" & R + 1)
MyList(R, 10) = .Range("K" & R + 1)
MyList(R, 5) = Right(Space(20) & Format(.Range("F" & R + 1), "R$ #,0.00"), 20) 'VALOR
MyList(R, 6) = Right(Space(20) & Format(.Range("G" & R + 1), "R$ #,##0.00"), 20) 'VALOR
MyList(R, 7) = Right(Space(20) & Format(.Range("H" & R + 1), "R$ #,0.00"), 20)
Next R
End With

lstLista.List = MyList
End Sub


Moacyr
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Out 10, 2018 2:26 pm

Re: Alinhar a direita

Mensagem por Moacyr »

Comando completo:
'AQUI FIXA A LISTA
'FOCA 900 LINHAS E OITO COLUNAS
Dim MyList(900, 10)
Dim R As Integer

'AQUI AS PROPRIEDADES DO LISTBOX VIA CODIGO
Application.ShowToolTips = True

With Worksheets("Dados")
'AQUI SERÃO DECLARADAS AS COLUNAS FOCADAS
For R = 0 To 900
MyList(R, 0) = .Range("A" & R + 1)
MyList(R, 1) = .Range("B" & R + 1)
MyList(R, 2) = .Range("C" & R + 1)
MyList(R, 3) = .Range("D" & R + 1)
MyList(R, 4) = .Range("E" & R + 1)
MyList(R, 5) = .Range("F" & R + 1) 'VALOR
MyList(R, 6) = .Range("G" & R + 1) 'VALOR
MyList(R, 7) = .Range("H" & R + 1) 'VALOR
MyList(R, 8) = .Range("I" & R + 1)
MyList(R, 9) = .Range("J" & R + 1)
MyList(R, 10) = .Range("K" & R + 1)
MyList(R, 5) = Right(Space(20) & Format(.Range("F" & R + 1), "R$ #,0.00"), 20) 'VALOR
MyList(R, 6) = Right(Space(20) & Format(.Range("G" & R + 1), "R$ #,##0.00"), 20) 'VALOR
MyList(R, 7) = Right(Space(20) & Format(.Range("H" & R + 1), "R$ #,0.00"), 20)
Next R
End With

lstLista.List = MyList
End Sub

Sou novo no em VBA e no grupo, copiei o código acima e simulei, entretanto, não roda, para na linha lstLista.List=MyList, dá a seguinte mensagem
Erro de compilação
Era eserado Function ou variável.

Eu substitui a linha com o nome da listagem
lst_lanc.list=MyList e dá a mensagem.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Alinhar a direita

Mensagem por Reinaldo »

o que vem a ser lst_lanc


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Moacyr
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Out 10, 2018 2:26 pm

Re: Alinhar a direita

Mensagem por Moacyr »

Oi Reinaldo, é o nome da minha listbox, na depuração a mensagem dá erro na linha lstLista=Mylist, entendi que código seria a minha listbox e substitui pelo nome da minha listbox, não sei se fui claro.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Alinhar a direita

Mensagem por Reinaldo »

Sua listbox está formatada como? pode dispor modelo?


Moacyr
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Out 10, 2018 2:26 pm

Re: Alinhar a direita

Mensagem por Moacyr »

Nas colunas 6, 7 e 8 são valores, gostaria de alinhar à direita, se possível, gostaria de um código só para as 3 colunas à direita.
1ª coluna - Data
2ª coluna - Mês
3ª coluna - Histórico
4ª coluna - Projeto
5ª coluna - Despesa
6ª coluna - Recebimento
7ª coluna - Pagamento
8ª coluna - Saldo


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Alinhar a direita

Mensagem por Reinaldo »

O controle ListBox não tem propriedade alinhamento, o que se costuma fazer e um "dimensionamento e preencimento com espaço" do conteúdo do campo, para que todos tenham a mesma dimensão fornecendo assim um visual alinhado.
Essa, vamos dizer, "Gambiarra" somente funciona se a fonte do controle for regular e tiver todos os caracteres com mesmo tamanho, e recomendado utilizar Courier New que atende essa característica (não sei se existe outra).
Moacir o código está acima na postagem do Neri, porem tem que ser adaptado a sua realidade; bem como tambem a realidade do projeto do colega Neri.
Assim o melhor e que postem seus modelos para que a adaptaçao seja efetuada


ajwebtv01
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Seg Abr 19, 2021 7:42 pm

Re: Alinhar a direita

Mensagem por ajwebtv01 »

Post antigo, mas me ajudou muito


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder