Tabla de contenido
Para combinar libros de trabajo en Excel, use el siguiente código. Este código tomará todas las primeras hojas de cada libro de trabajo que se encuentre en un directorio:
123456789101112131415161718192021222324252627282930313233343536 | 'Combinar libros de trabajoSub MergeWBs ()Application.EnableEvents = FalseApplication.ScreenUpdating = FalsoDim ruta como cadena, ThisWB como cadena, lngFilecounter tan largoDim wbDest como libro de trabajo, shtDest como hoja de trabajo, ws como hoja de trabajoDim nombre de archivo como cadena, Wkb como libro de trabajoDim CopyRng As Range, Dest As RangeDim RowofCopySheet como enteroRowofCopySheet = 2 'Fila para comenzar en las hojas desde las que está copiandoThisWB = ActiveWorkbook.Nameruta = GetDirectory ("Seleccione una carpeta que contenga los archivos de Excel que desea fusionar")Establecer shtDest = ActiveWorkbook.Sheets (1)Nombre de archivo = Dir (ruta & "\ *. Xlsm", vbNormal)Si Len (nombre de archivo) = 0, salga de SubHacer hasta nombre de archivo = vbNullStringSi no es el nombre de archivo = ThisWB, entoncesEstablecer Wkb = Workbooks.Open (Nombre de archivo: = ruta & "\" & Nombre de archivo)Establecer CopyRng = Wkb.Sheets (1) .Range (Cells (RowofCopySheet, 1), Cells (ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count))Establecer Dest = shtDest.Range ("A" & shtDest.UsedRange.SpecialCells (xlCellTypeLastCell) .Row + 1)CopyRng. Copiar destinoWkb.Cerrar FalsoTerminara siNombre de archivo = Dir ()CírculoApplication.EnableEvents = TrueApplication.ScreenUpdating = TrueMsgBox "Macro completa"End Sub |
Sr. Excel