ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

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 » Sex Jun 22, 2018 5:10 pm

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 » Sex Jun 22, 2018 6:35 pm

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 » Qua Out 10, 2018 2:39 pm

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: 1379
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Alinhar a direita

Mensagem por Reinaldo » Qua Out 10, 2018 7:32 pm

o que vem a ser lst_lanc


Reinaldo
:oops: :D :mrgreen: :geek:

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 » Qui Out 11, 2018 2:40 pm

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: 1379
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Alinhar a direita

Mensagem por Reinaldo » Qui Out 11, 2018 3:52 pm

Sua listbox está formatada como? pode dispor modelo?


Reinaldo
:oops: :D :mrgreen: :geek:

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 » Qui Out 11, 2018 4:49 pm

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: 1379
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Alinhar a direita

Mensagem por Reinaldo » Qui Out 11, 2018 10:24 pm

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


Reinaldo
:oops: :D :mrgreen: :geek:

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