Copiare automaticamente le colonne tra le cartelle di lavoro

Ho bisogno di aiuto per creare un codice che lo farà.

  • Identificare due cartelle di lavoro separate: workbook1 (il file di origine) e workbook2 (active.workbook).
  • prendere il titolo della colonna nella cartella di lavoro1, trovare il titolo della colonna nella cartella di lavoro 2 e copiare il contenuto della colonna dalla cartella di lavoro1 nella cartella 2.
  • passare alla colonna successiva nella cartella di lavoro1 finché il titolo non è vuoto.

Questo codice funziona per me. Nota i commenti.

Sub copyA2B() Dim wb As Workbook Dim wbSrc As String Dim cel As Range 'assuming you don't know the source workbook name, looping through the workbooks, otherwise no loop needed For Each wb In Workbooks If wb.Name <> ActiveWorkbook.Name Then wbSrc = wb.Name Exit For End If Next With Workbooks(wbSrc).ActiveSheet 'assuming the column order is different between the two files, looping through the titles, otherwise no loop needed For Each cel In .Rows(1).Cells 'assuming the titles are in the first row in both workbooks If cel <> "" And cel(2) <> "" Then .Range(cel(2), cel(1).End(xlDown)).Copy Rows(1).Find(cel.Value)(2) End If Next End With 

End Sub