Excel - Sammanfoga flera arbetsblad till en enda

Problem

Jag använder Excel för att lagra information om flera produkter och ha ett annat arbetsblad för varje sortiment. Hur man sammanfogar (sekventiellt kombinera) alla dessa kalkylblad till en enda sida? Alla arbetsblad har samma antal kolumner, med samma titel (i den övre raden).

Hur man fortsätter?

Lösning

Antar det:

1. Ett ark med titeln Consolidated kan skapas och raderas med makro

2. Rubrikerna är på rad 1 på alla blad och är vanliga för alla

3. Alla ark ska kopieras

 Sub CombineSheets () Dimma lConRow så långmåttigt ark som variant Dim sConsolidatedSheet som strängdimma lSheetRow så länge Dim sLastCol som sträng sConsolidatedSheet = "Consolidated" vid fel Fortsätt nästa ark (sConsolidatedSheet) .Delete On Error GoTo 0 Sheets.Add ActiveSheet.Name = sConsolidatedSheet för varje ark i ark Om Sheet.Name = sConsolidatedSheet Så GoTo Next_Sheet Om sLastCol = "" Då sLastCol = Sheet.Cells (1, Columns.Count) .End (xlToLeft) .Address Sheets (sConsolidatedSheet) .Range ("1: 1 ") = Sheet.Range (" 1: 1 "). Värde lConRow = 1 Avsluta om lSheetRow = 0 Vid fel fortsätt Nästa lSheetRow = Sheet.Cells.Find (" * ", celler (1, 1), SearchOrder: = xlByRows, SearchDirection: = xlPrevious) .Row On Error GoTo Om If (lSheetRow> 1) Then Sheets (sConsolidatedSheet) .Range (lConRow + 1 & ":" & lSheetRow + lConRow - 1) = Sheet.Range ("2:" & lSheetRow) .Value lConRow = Ark (sConsolidatedSheet) .Cells.Find ("*", celler (1, 1), SearchOrder: = xlByRows, SearchDirection: = xlFöreläsning) .Row End If Next_Sheet: Next End Sub 

Tack till rizvisa1 för detta tips.

Tidigare Artikel Nästa Artikel

Bästa Tipsen