Privata underLoopThroughXLS_ConsolidateOneSheet ()
'öppnar alla arbetsböcker i en mapp och konsoliderar dem i en täcker på aktivarbetsboken
application.ScreenUpdating = den falska 'disablen avskärmer att uppdatera som ska undvikas, avskärmer att exponera
Dunkel wbk1 som arbetsboken, wbk2 som arbetsbok, I som Long, strWbk som stränger, sht1 som arbetssedeln
Dunkel blFirst som Boolean
Dunkla strWbkNames (1 till 500) som stränger, FileName som stränger, intFileCount som Long, intWbkLoop som Long
'************************* FÖR *************** UPPDATERINGPARAMETRAR HÄR,
Const strpath som stränger = ”C:\Temp\test” 'ändring till mapparna, var du tappar ditt, sparar
Const blHeader som Boolean = True 'true, om dina data har titelrader, falskt annars
'**************************************************************,
Uppsättning wbk1 = ActiveWorkbook
Uppsättning sht1 = ActiveSheet
blFirst = True
FileName = Dir (strpath & ”\ *.xls”)
Gör stundFileName <> "",
intFileCount = intFileCount + 1
strWbkNames (intFileCount) = FileName
FileName = Dir
Kretsa
application.DisplayAlerts = falskt
För intWbkLoop = 1 till intFileCount
Om application.WorksheetFunction.CountA (sht1.Columns (1)) = 0 därefter
sht1.range (”A1”). Valt
Annars
sht1.range (”A” & sht1.Rows.Count). Avsluta (xlUp). Offset (1, 0). Valt
Avsluta om
Uppsättning wbk2 = Workbooks.Open (strpath & ”\” & strWbkNames (intWbkLoop))
Med wbk2.Sheets (1)
Om blFirst = True därefter
blFirst = falskt
.UsedRange.Copy
Annars
Om blHeader = True därefter
.UsedRange.Offset (1). Kopiera
Annars
.UsedRange.Copy
Avsluta om
Avsluta om
Avsluta med
sht1.Paste
(falsk) wbk2.Close,
Därefter
application.DisplayAlerts = True
application.ScreenUpdating = True
Avsluta suben
|