Excel - Spajanje nekoliko radnih listova u jednu
![](http://img.brin-designs.com/img/games/546/excel-merge-several-worksheets-into-single-one.png)
Problem
Koristim Excel za pohranu podataka o nekoliko proizvoda i za rad s različitim radnim listom za svaki raspon. Kako spojiti sve sekvence na jednu stranicu? Svi radni listovi imaju isti broj stupaca, s istim naslovom (u gornjem retku).
Kako nastaviti?
Riješenje
Pod pretpostavkom da:
1. List s naslovom Konsolidirano može se izraditi i izbrisati pomoću makroa
2. Zaglavlja su na prvom retku na svim listovima i zajednička su za sve
3. Svi se listovi kopiraju
Sub CombineSheets () Dim lConRow As Long Dim Sheet kao varijanta Dim sConsolidatedSheet As String Dim lSheetRow As Long Dim sLastCol As String sConsolidatedSheet = "Consolidated" On Error Nastavi sljedeće listove (sConsolidatedSheet) .Delete On Error GoTo 0 Sheets.Add ActiveSheet. sConsolidatedSheet za svaki list u listovima Ako Sheet.Name = sConsolidatedSheet Zatim GoTo Next_Sheet Ako sLastCol = "" Onda sLastCol = Sheet.Cells (1, Columns.Count). End (xlToLeft) .Adres Sheets (sConsolidatedSheet) .Range ("1: 1 ") = Sheet.Range (" 1: 1 "). Vrijednost lConRow = 1 Kraj Ako lSheetRow = 0 na Greška Nastavi Sljedeća lSheetRow = Sheet.Cells.Find (" * ", Ćelije (1, 1), SearchOrder: = xlByRows, SearchDirection: = xlPrevious). Row On Error GoTo 0 If (lSheetRow> 1) Tada listovi (sConsolidatedSheet) .Range (lConRow + 1 & ":" & lSheetRow + lConRow - 1) = Sheet.Range ("2:") & lSheetRow) .Value lConRow = Listovi (sConsolidatedSheet) .Cells.Find ("*", Ćelije (1, 1), SearchOrder: = xlByRows, SearchDirection: = xlPrevious) .Row End If Next_Sheet: Next End Sub
Zahvaljujući rizvisa1 za ovaj savjet.