Kazalo
Če želite združiti delovne zvezke v Excelu, uporabite naslednjo kodo. Ta koda bo vzela vse prve liste v vsakem delovnem zvezku v imeniku:
123456789101112131415161718192021222324252627282930313233343536 | 'Združi delovne zvezkeSub MergeWB ()Application.EnableEvents = FalseApplication.ScreenUpdating = NapačnoZatemni pot kot niz, ThisWB kot niz, lngFilecounter As LongZatemni wbDest kot delovni zvezek, shtDest kot delovni list, ws kot delovni listZatemni ime datoteke kot niz, Wkb kot delovni zvezekDim CopyRng As Range, Dest As RangeZatemni RowofCopySheet kot celo številoRowofCopySheet = 2 'Vrstica za začetek na listih, s katerih kopirateThisWB = ActiveWorkbook.Namepath = GetDirectory ("Izberite mapo, ki vsebuje Excelove datoteke, ki jih želite združiti")Nastavi shtDest = ActiveWorkbook.Sheets (1)Ime datoteke = Dir (pot & "\*. Xlsm", vbNormal)Če je Len (ime datoteke) = 0, potem zapustite podNaredi Do Ime datoteke = vbNullStringČe ni Ime datoteke = To WB PotemNastavite Wkb = Delovni zvezki.Odprite (Ime datoteke: = pot & "\" & Ime datoteke)Nastavi CopyRng = Wkb.Sheets (1) .Range (celice (RowofCopySheet, 1), celice (ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count))Nastavi cilj = shtDest.Range ("A" & shtDest.UsedRange.SpecialCells (xlCellTypeLastCell). Vrstica + 1)CopyRng.Copy DestWkb.Zapri napačnoKonec ČeIme datoteke = Dir ()ZankaApplication.EnableEvents = TrueApplication.ScreenUpdating = ResMsgBox "Makro dokončan"End Sub |
Gospod Excel