Página 1 de 1

Filtrar em outra planilha mantendo a formatação

Enviado: 09 Jan 2018 às 17:09
por lulenunes
Caros amigos, boa tarde.

Possuo uma planilha para controle de contas a receber que possuem 4 abas: Menu, Base(Plan5), Rel(Plan6) e Resumo, criei um código para uma macro que ao clicar no botão (ex.: "Vencido") ele filtra as informações da aba Base e envia para a aba Rel, está funcionando OK, porém, não traz a formatação das células, ou seja, datas, valores e as bordas vem sem a formatação original da aba Base. Segue o código:
Código: Selecionar todos
Range("A8:K6008").Clear
    ultimalinha = Plan5.Cells(Rows.Count, "a").End(xlUp).Row
    lin = 8
    For i = 5 To ultimalinha
        If Plan5.Cells(i, 10) = "Vencido" Then
            Plan6.Cells(lin, 1) = Plan5.Cells(i, 1)
            Plan6.Cells(lin, 2) = Plan5.Cells(i, 2)
            Plan6.Cells(lin, 3) = Plan5.Cells(i, 3)
            Plan6.Cells(lin, 4) = Plan5.Cells(i, 4)
            Plan6.Cells(lin, 5) = Plan5.Cells(i, 5)
            Plan6.Cells(lin, 6) = Plan5.Cells(i, 6)
            Plan6.Cells(lin, 7) = Plan5.Cells(i, 7)
            Plan6.Cells(lin, 8) = Plan5.Cells(i, 8)
            Plan6.Cells(lin, 9) = Plan5.Cells(i, 9)
            Plan6.Cells(lin, 10) = Plan5.Cells(i, 10)
            lin = lin + 1
        End If
    Sheets("Rel").Select
    Next
Grato a todos

Re: Filtrar em outra planilha mantendo a formatação

Enviado: 10 Jan 2018 às 04:58
por gfranco
Bom dia.

Apenas ajustei o código para trazer a formatação.
Veja se é isso.
Código: Selecionar todos
Range("A8:K6008").Clear
    ultimalinha = Plan5.Cells(Rows.Count, "a").End(xlUp).Row
    lin = 8
    For i = 5 To ultimalinha
        If Plan5.Cells(i, 10) = "Vencido" Then
            Plan5.Range("A" & i, "J" & i).Copy
            Plan6.Range("A" & lin).PasteSpecial xlPasteValues
            Plan6.Range("A" & lin).PasteSpecial xlPasteFormats
            
                        lin = lin + 1
        End If
        Next
    Sheets("Rel").Select

Re: Filtrar em outra planilha mantendo a formatação

Enviado: 10 Jan 2018 às 11:09
por lulenunes
Caro GFranco, bom dia.

Muito obrigado pelo rápido retorno, para facilitar estou enviando a planilha.
O código deu praticamente certo, ou seja, creio que o erro tb estava no meu código postado. O problema agora está no seguinte:
- quando clico no botão(aba Menu) Vencido ele transporta perfeitamente, porém, ao clicar em qualquer outro botão (Pago em Dia, Pago em Atraso, Cancelado ou Em Aberto) ele sobrescreve somente uma parte na aba Rel, ou seja, o comando Clear no incio do código não está funcionando como eu esperava, pois ele não apaga totalmente os dados anteriores para transportar os próximos, com isso fica uma parte com os últimos registros transportados anteriormente.

Ao testar o código direto pelo VBA ele funciona perfeitamente, porém, após alguns testes repetidos, ele bagunça totalmente a Aba Base.

Os códigos estão no módulo 5 e 6

grato

Re: Filtrar em outra planilha mantendo a formatação

Enviado: 10 Jan 2018 às 19:57
por gfranco
Boa noite.
Seria +- isso?

Re: Filtrar em outra planilha mantendo a formatação

Enviado: 11 Jan 2018 às 16:46
por lulenunes
Caro gfranco, boa tarde.

Exatamente isso, muito obrigado pela valorosa ajuda.

Não estou encontrando como encerrar o tópico

abraços