LoopThroughXLS_ConsolidateOneSheet secundario privado ()
'abre todos los libros de trabajo en una carpeta y los consolida en una hoja en el libro de trabajo activo
application.ScreenUpdating = 'pantalla falsa de la neutralización que se pone al día para evitar destellar de la pantalla
Wbk1 dévil como libro de trabajo, wbk2 como libro de trabajo, i como de largo, strWbk como secuencia, sht1 como hoja de trabajo
blFirst dévil como boleano
strWbkNames déviles (1 a 500) como secuencia, nombre de fichero como secuencia, intFileCount como de largo, intWbkLoop como de largo
'DEL *************** DE LA ACTUALIZACIÓN DE LOS PARÁMETROS ************************* AQUÍ
Strpath de Const como secuencia = “C:\Temp\test” 'cambio a las carpetas donde usted cae sus archivos
El blHeader de Const como boleano = verdad 'verdad si sus datos tienen jefes, falso de otra manera
'**************************************************************
Fijar wbk1 = ActiveWorkbook
Fijar sht1 = ActiveSheet
el blFirst = verdad
Nombre de fichero = Dir (strpath y “\ *.xls”)
Hacer mientras que "" <> del nombre de fichero
intFileCount = intFileCount + 1
strWbkNames (intFileCount) = nombre de fichero
Nombre de fichero = Dir
Lazo
application.DisplayAlerts = falso
Para el intWbkLoop = 1 al intFileCount
Si application.WorksheetFunction.CountA (sht1.Columns (1)) = 0 entonces
sht1.range (“A1”). Selecto
sht1.range (“A” y sht1.Rows.Count). Extremo (xlUp). Compensación (1, 0). Selecto
Terminar si
Fijar wbk2 = Workbooks.Open (strpath y “\” y los strWbkNames (el intWbkLoop))
Con wbk2.Sheets (1)
Si el blFirst = entonces verdad
blFirst = falso
.UsedRange.Copy
Si el blHeader = entonces verdad
.UsedRange.Offset (1).Copy
.UsedRange.Copy
Terminar si
Terminar si
Terminar con
sht1.Paste
wbk2.Close (falso)
Después
application.DisplayAlerts = verdad
application.ScreenUpdating = verdad
Submarino del extremo
|