Excel - Spajanje nekoliko radnih listova u jednu

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.

Prethodni Članak Sljedeći Članak

Top Savjeta