Ir ao conteúdo
  • Cadastre-se

Excel Código para Copiar e Colar dados acumulando no Excel.


Ir à solução Resolvido por Midori,

Posts recomendados

Bom dia Pessoal.

Preciso de um Help, eu tenho uma planilha com varias abas no excel, elas são abastecidas pelo Power Querry todo dia.

Cada Aba eu uso pra abastecer outras planilhas.

 

Existe alguma forma de colocar um VBA nessas planilhas que eu abasteço, para pegar os dados dessa no Querry de acordo com a Aba ? 
Eu queria apenas que ela pegasse a informação, colocasse abaixo da que já existe e pronto. Para sempre acumular.

 

Porém, tem uma delas, que quero apagar da minha base e colar os dados.
Sempre desconsiderando o titulo. 

Link para o comentário
Compartilhar em outros sites

@mirojunior97 Veja se é isto, abra as duas planilhas e cole o código na Base SP,

 

Sub CopiaSP()
    Dim PlanAtt As Worksheet
    
    Set PlanAtt = Workbooks("Att automatica.xlsx").Sheets("Sp")
    
    With ThisWorkbook.ActiveSheet
        Call PlanAtt.[A1].CurrentRegion.Offset(1).Copy( _
            .Cells(.[A1].CurrentRegion.Rows.Count + 1, 1))
    End With
    Application.CutCopyMode = False
End Sub

 

Link para o comentário
Compartilhar em outros sites

27 minutos atrás, Midori disse:

@mirojunior97 Veja se é isto, abra as duas planilhas e cole o código na Base SP,

 

Sub CopiaSP()
    Dim PlanAtt As Worksheet
    
    Set PlanAtt = Workbooks("Att automatica.xlsx").Sheets("Sp")
    
    With ThisWorkbook.ActiveSheet
        Call PlanAtt.[A1].CurrentRegion.Offset(1).Copy( _
            .Cells(.[A1].CurrentRegion.Rows.Count + 1, 1))
    End With
    Application.CutCopyMode = False
End Sub

 

 

Funcionou perfeitamente, apenas um detalhe. 
Ele está colando como valor né ? 

Qual seria a alteração pra ele colar sem formatação ? 

Link para o comentário
Compartilhar em outros sites

@mirojunior97 Sem formatação fica assim,

 

Sub CopiaSP()
    Dim PlanAtt As Worksheet
    
    Set PlanAtt = Workbooks("Att automatica.xlsx").Sheets("Sp")
    
    PlanAtt.[A1].CurrentRegion.Offset(1).Copy
    
    With ThisWorkbook.ActiveSheet
        .Cells(.[A1].CurrentRegion.Rows.Count + 1, 1).PasteSpecial
    End With
    Application.CutCopyMode = False
End Sub

 

Link para o comentário
Compartilhar em outros sites

@Midori Muito obrigado mano. 

Me ajudou demais. Agradeço muito. 

 

Agora vou vincular o Power Automate pra realizar esses códigos de forma automatica salvar e fechar. Agradeço novamente. Deus abencoe 

@Midori Esqueci de uma informação.

É possível também, apagar as informações da Base SP, e inserir as informações da Att ? 
No mesmo formato, porém em vez de colar , ele substituiria. 

Link para o comentário
Compartilhar em outros sites

  • Solução

@mirojunior97 Assim apaga toda a região a partir de A1 na Base SP,

 

Sub CopiaSP()
    Dim PlanAtt As Worksheet
    
    Set PlanAtt = Workbooks("Att automatica.xlsx").Sheets("Sp")
    
    With ThisWorkbook.ActiveSheet.[A1]
        .CurrentRegion.ClearContents
        PlanAtt.[A1].CurrentRegion.Copy
        .PasteSpecial
    End With
    Application.CutCopyMode = False
End Sub

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!