Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#29319
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
#29324
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
#29339
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
Você não está autorizado a ver ou baixar esse anexo.
#29356
Boa noite.
Seria +- isso?
Você não está autorizado a ver ou baixar esse anexo.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord