Ir ao conteúdo
  • Cadastre-se

vba/macro simples porém complexa (copiar dados de pasta diferentes com planilhas com mesmo nome)


Ir à solução Resolvido por Visitante,

Posts recomendados

Bom dia amigos, agradeço a ajudar e altruísmo de todos vocês e a grande qualidade do fórum.

Minha duvida é preciso copiar valores de pastas de trabalhos diferentes que possuem planilhas com nome e formatação identicas, gostaria de saber como faço para proceder sem precisar colocar macro o nome de todas as planilhas.

 

EXPLICANDO:  Tenho dois arquivos (pastas de trabalho) com 46 planilhas possuindo nomes identicos (nome dos funcionarios) e formatação iguais entre si. Elas são preenchida com dados (horas trabalhadas),

Quero copiar uma seleção (C9:F33) da pasta de trabalho de nome JUNHO da planilha chamada ABEL (FUNCIONARIO) e colar essa seleção na outra pasta de trabalho JULHO, na planilha com mesmo nome ABEL (o mesmo funcionario) na area C3:F27; porém no meu macro tenho que inserir o nome de cada planilha, como são 46 planilhas/funcionarios em cada pasta o trabalho essa etapa é demorada.

Existe algum código em vba que copia os valores selecionados das guias/abas de um pasta de trabalho e cole em outra pasta de trabalho com guias/abas com nomes idênticos e ja existentes?

 

Meu exemplo de macro

 

na pasta junho
    Sheets("ABEL").Select
    ActiveWindow.SmallScroll Down:=-12
    Range("C3:F27").Select
    Windows("JULHO .xlsx").Activate
    Sheets("ABEL").Select
    ActiveWindow.SmallScroll Down:=-15
    Range("C9:F33").Select
    Selection.Copy
    Application.CutCopyMode = False
    Selection.Copy
    Windows("JUNHO.xlsm").Activate
    ActiveWindow.SmallScroll Down:=-9
    ActiveSheet.Paste
    Range("G9").Select
    ActiveWindow.SmallScroll Down:=15
    Range("C28").Select
    Sheets("WILSON").Select                                  ----- WILSON É A OUTRA ABA (FUNCIONARIO) DA PLANINHA 
    ActiveWindow.SmallScroll Down:=-18
    Range("C3:F27").Select
    Windows("JULHO .xlsx").Activate
    Sheets("WILSON").Select                  
    ActiveWindow.SmallScroll Down:=-12
    Range("C9:F33").Select
    Application.CutCopyMode = False
    Selection.Copy
    Application.CutCopyMode = False
    Selection.Copy
    Windows("JUNHO.xlsm").Activate
    ActiveWindow.SmallScroll Down:=-18
    ActiveSheet.Paste
    ActiveWindow.SmallScroll Down:=9
    Range("C28").Select
Link para o comentário
Compartilhar em outros sites

  • Solução

Experimente:

Sub CopiaCola() Dim WBjun As Workbook, WBjul As Workbook, ws As Worksheet  Set WBjun = Workbooks("JUNHO")  Set WBjul = Workbooks("JULHO")   For Each ws In WBjun.Worksheets    WBjul.Sheets(ws.Name).Range("C3:F27").Value = ws.Range("C9:F33").Value   Next wsEnd Sub
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...