Obsah
Na kombináciu zošitov v programe Excel použite nasledujúci kód. Tento kód prevezme všetky prvé listy v každom zošite, ktorý sa nachádza v adresári:
123456789101112131415161718192021222324252627282930313233343536 | „Zlúčiť zošitySub zlúčenie WB ()Application.EnableEvents = FalseApplication.ScreenUpdating = FalseDim cesta ako reťazec, ThisWB ako reťazec, lngFilecounter ako dlhýDim wbDest As Workbook, shtDest As Worksheet, ws As WorkheetDim Názov súboru ako reťazec, Wkb ako zošitDim CopyRng As Range, Dest As RangeDim RowofCopySheet ako celé čísloRowofCopySheet = 2 'Riadok, od ktorého sa začína na listoch, z ktorých kopírujeteThisWB = ActiveWorkbook.Namecesta = GetDirectory („Vyberte priečinok obsahujúci súbory programu Excel, ktoré chcete zlúčiť“)Nastaviť shtDest = ActiveWorkbook. Listy (1)Názov súboru = Dir (cesta & "\*. Xlsm", vbNormal)Ak Len (názov súboru) = 0, potom Ukončite podčVykonajte, kým názov súboru = vbNullStringAk nie je názov súboru = ThisWB, potomNastaviť Wkb = zošity. Otvoriť (Názov súboru: = cesta & "\" & Názov súboru)Nastaviť CopyRng = Wkb.Sheets (1) .Range (bunky (RowofCopySheet, 1), bunky (ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count))Nastaviť cieľ = shtDest.Range ("A" & shtDest.UsedRange.SpecialCells (xlCellTypeLastCell). Riadok + 1)CopyRng.Copy CieľWkb.Close FalseKoniec AkNázov súboru = Dir ()SlučkaApplication.EnableEvents = PravdaApplication.ScreenUpdating = TrueMsgBox „Makro je dokončené“Koniec pod |
Pán Excel