Excel - Združite več delovnih listov v enega
Težava
V Excelu shranjujem informacije o več izdelkih in imam za vsako območje drugačen delovni list. Kako združiti (zaporedno združiti) vse te delovne liste v eno stran? Vse delovne liste imajo enako število stolpcev z enakim naslovom (v zgornji vrstici).
Kako nadaljevati?
Rešitev
Predvidevam da:
1. List z naslovom Konsolidirano lahko ustvarite in izbrišete z makrom
2. Glave so v vrstici 1 na vseh listih in so skupne za vse
3. Vse liste je treba kopirati
Sub CombineSheets () Dim lConRow as Long Dim Sheet Kot Variant Dim sConsolidatedSheet As String Dim lSheetRow As Long Dim sLastCol As String sConsolidatedSheet = "Consolidated" On Error Naprej Next Sheets (sConsolidatedSheet) .Delete On Error GoTo 0 Sheets.Add ActiveSheet.Name = sConsolidatedSheet za vsak list v listih Če Sheet.Name = sConsolidatedSheet Potem GoTo Next_Sheet Če sLastCol = "" Nato sLastCol = Sheet.Cells (1, Columns.Count). End (xlToLeft) .Adresni listi (sConsolidatedSheet) .Range ("1: 1 ") = Sheet.Range (" 1: 1 "). Vrednost lConRow = 1 Konec Če lSheetRow = 0 Na napaki Nadaljuj Naprej lSheetRow = Sheet.Cells.Find (" * ", Celice (1, 1), SearchOrder: = xlByRows, SearchDirection: = xlPrevious) .Row On Error GoTo 0 If (lSheetRow> 1) Potem listi (sConsolidatedSheet) .Range (lConRow + 1 & ":" & lSheetRow + lConRow - 1) = Sheet.Range ("2:") & lSheetRow) .Vrednost lConRow = Listi (sConsolidatedSheet) .Cells.Find ("*", Celice (1, 1), SearchOrder: = xlByRows, SearchDirection: = xlPrevious) .Row End If Next_Sheet: Next End Sub
Hvala za rizvisa1 za ta tip.