prečo pripúšťaš taký bordel v zdrojových hárkoch?
a) Prečo nemáš vo všetkých zdrojových hárkoch pevne zadanú bunku, kde začína tabuľka?
Akože... nie že by to nešlo ale zbytočne to komplikuje...
b) To na každom hárku bude iba jeden stĺpec údajov?
c) Priložený kód urobí to, čo chceš, ale ak ho pochopíš, zistíš, že aktuálne oblasti na zdrojových hárkoch musia byť súvislé.
(V Tvojom príklade síce súvislé sú, ale ako to bude v ostatných prípadoch, ktoré sa môžu vyskytnúť?)
Kód pracuje so súvislou oblasťou odvodenou od poslednej bunky.
d) Kód si zistí počet hárkov, pričom posledný považuje za sumarizačný.
e) Kód neošetruje stav, keď dodatočne pridáš ďalšie hárky (neprilepí obsah novopriloženého hárka za výsledkový zoznam).
Musel by si zmazať celý obsah výsledkového hárka a nechať prebehnúť znova
f) To, že niektorý zoznam môže byť prázdny chápem ako prázdny hárok, lebo ako vravím vyššie, kód si zisťuje poslednú vyplnenú bunku na hárku a od nej si odvodzuje oblasť pre kopírovanie...
g) Samozrejme, že keď do zošita zahrnieš makro, musíš ho uložiť vo formáte xlsm
Sub Sustredenie()
Application.ScreenUpdating = False
RiadokCiela = 1
For i = 1 To ActiveWorkbook.Sheets.Count - 1
Sheets(i).Select
Selection.SpecialCells(xlCellTypeLastCell).Select
Selection.CurrentRegion.Select
PocetRiadkov = Selection.Rows.Count
If PocetRiadkov = 1 And ActiveCell = "" Then PocetRiadkov = 0
Selection.Copy
Sheets(ActiveWorkbook.Sheets.Count).Select
Range("A" & RiadokCiela).Select
Selection.PasteSpecial Paste:=xlPasteValues
RiadokCiela = RiadokCiela + PocetRiadkov
Next i
Application.CutCopyMode = False
For i = 1 To ActiveWorkbook.Sheets.Count
Sheets(i).Select
Range("A1").Select
Next i
Application.ScreenUpdating = True
End Sub