Copie planilhas diferentes de pastas de trabalho diferentes vba

Copie planilhas diferentes de pastas de trabalho diferentes vba

Eu tenho uma macro que copia planilhas e as salva como novas.

Porém, quero copiar duas planilhas e combiná-las em uma, mas as planilhas estão localizadas em duas pastas de trabalho diferentes.

por exemplo: pasta de trabalho1 contém 2 planilhas (planilha1, planilha2) pasta de trabalho2 contém 3 planilhas (planilha1, planilha2, planilha3)

Quero copiar a planilha1 da pasta de trabalho1 e a planilha1 da pasta de trabalho2. em seguida, combine-os, pois ambos têm o mesmo formato de tabela.

Eu não sei como. Só sei copiar várias planilhas da mesma pasta de trabalho. Eu também sei como combiná-los, meu único problema é como copiar a planilha1 de uma pasta de trabalho diferente, que é a pasta de trabalho1 e a pasta de trabalho2

Eu só tenho um código simples para copiar os dados. a propósito, aqui está meu código:

saveFolder = "C:\Document\Macro"

path = "C:\Document\Workbook1"
fname = "Sample Account.xlsx"

Workbooks.Open path & fname
Sheets("Account1").Copy

ActiveWorkbook.SaveAs saveFolder & "\Conso.xlsx", FileFormat:=51
Workbooks(fname).Close

o outro arquivo está localizado na pastaPasta de trabalho2o nome do arquivo éContas Adicionais

Responder1

Este código VBA (Macro) irá ajudá-lo a copiar a planilha de sua escolha da pasta de trabalho de origem para combinar no livro ativo.

Este código é interativo e não padrão, o que torna o código versátil.

Sub CombineSheets()
    Dim sPath As String
    Dim sFname As String
    Dim wBk As Workbook
    Dim wSht As Variant

    Application.EnableEvents = False
    Application.ScreenUpdating = False

   sPath = InputBox("Enter File Path Of Source Workbook(s)")

   ChDir sPath

   sFname = InputBox("Enter the Filename")

   sFname = Dir(sPath & "\" & sFname & ".xl*", vbNormal)

   wSht = InputBox("Enter Worksheet Name To Copy")

   Do Until sFname = ""

       Set wBk = Workbooks.Open(sFname)
        Windows(sFname).Activate
        Sheets(wSht).Copy Before:=ThisWorkbook.Sheets(1)
        wBk.Close False
        sFname = Dir()
    Loop
    ActiveWorkbook.Save
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

Como funciona:

  • Copie e cole este código como Módulo Padrão com a Pasta de Trabalho Mestre (na qual você deseja combinar Planilhas).
  • Execute a macro.
  • Primeiro, ele solicita um caminho para a(s) pasta(s) de trabalho de origem.

Observação,melhor copiar e colar o caminho do arquivo.

  • Em seguida, pergunte o nome da pasta de trabalho, você também pode usar curingas ou o nome da pasta de trabalho como Myworkbook.

  • Por fim pede que o Nome da Folha seja copiado.

informação relacionada