Ir ao conteúdo
  • Cadastre-se
Neri Schuck

Excel Alinhar Numero a direita após filtrado

Recommended Posts

Pessoal, consegui um código que está em anexo e funciona bem (Acho que foi neste forum).
Mas preciso de ajuda num detalhe que acredito que seja simples de resolver: Ao iniciar ele formata à direita e em R$. Porém quando filtro ele perde esta formatação. Então o que eu preciso inserir algum código que, após o filtro realizado ele novamente formate conforme ele faz no início. 
Me dêem uma dica, pois acredito que este exemplo será útil para outros também.
Obs.: Consegui estes códigos na internet - não sei quem é o autor.

Filtro com listbox.rar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Neri Schuck

 

Na SUB Private Sub PopulaListBox(.....

Após    

'coloca as linhas do RecordSet num Array, se houver linhas neste
    If Not rst.EOF And Not rst.BOF Then
        myArray = rst.GetRows
        'troca linhas por colunas no Array
        myArray = Array2DTranspose(myArray)
        'atribui o Array ao listbox
        LstLista.List = myArray
        'adiciona a linha de cabeçalho da coluna
        LstLista.AddItem , 0
        'preenche o cabeçalho
        For i = 0 To rst.Fields.Count - 1
            LstLista.List(0, i) = rst.Fields(i).Name
        Next i
        'seleciona o primeiro item da lista
        LstLista.ListIndex = 0
    Else
        LstLista.Clear
    End If
  

Insira uma chamada do procedimento:
    formatarcolunas

 

Veja se é por aí...

 

Té +

Márcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Marcio

Obrigado pela ajuda. Eu também pensei em fazer assim, aliás, já tinha feito. Porém o formatar dá referência a planilha "DADOS" e aí simplesmente não filtra mais nada. Ou filtra e recoloca todos os dados por estar buscando na planilha.

 

Outra coisa que tentei é fazer outro formatar e nele inibir a linha 'With Worksheets("Dados").... também não funciona pois ele não reconhece as linhas que estão abaixo. 

 

Tente fazer na sua máquina e veja se também não funciona. Faça o filtro antes de inseri o comando que você citou e refaça depois.

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Neri Schuck

 

Na SUB Private Sub PopulaListBox(.....

Após    

....

 Next i
        'seleciona o primeiro item da lista
        LstLista.ListIndex = 0
    Else
        LstLista.Clear
    End If

  Coloque isto:

For i = 1 To UBound(myArray) + 1
    
        LstLista.List(i, 7) = Right(Space(20) & Format(myArray(i - 1, 7), "R$ #,0.00"), 20)
        LstLista.List(i, 8) = Right(Space(20) & Format(myArray(i - 1, 8), "R$ #,0.00"), 20) 'VALOR

    
    Next i

 

Veja se é por aí...

 

Té +

Márcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande Marcio.... é isto mesmo.... agora deu certo. Poxa, muiiiiiito Obrigado. Valeu mesmo. Nem sabe o quanto sofri por isto. Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×