„Excel“ - sujungti kelis darbalapius į vieną

Problema

Aš naudoju „Excel“, kad būtų saugoma informacija apie kelis produktus ir kiekvienam diapazonui yra skirtingas darbalapis. Kaip sujungti (nuosekliai sujungti) visus šiuos darbalapius į vieną puslapį? Visi darbalapiai turi tą patį stulpelių skaičių su tuo pačiu pavadinimu (viršutinėje eilutėje).

Kaip elgtis?

Sprendimas

Tariant, kad:

1. Makrokomandoje galima sukurti ir ištrinti lapą „Konsoliduota“

2. Antraštės yra ant 1 eilutės visuose lapuose ir yra bendros visiems

3. Visi lapai turi būti nukopijuoti

 „Sub CombineSheets“ () „Dim lConRow As Long Dim Sheet“ kaip variantas „Dim sConsolidatedSheet“ kaip eilutė „Dim lSheetRow As Long“ sLastCol kaip eilutė sConsolidatedSheet = "Konsoliduota" Klaida Atnaujinti kitą lapą (sConsolidatedSheet). sConsolidated Sheet kiekvienam lapui lapuose Jei Sheet.Name = sConsolidatedSheet Tada GoTo Next_Sheet Jei sLastCol = "" Tada sLastCol = Sheet.Cells (1, Columns.Count) .End (xlToLeft). Adresų lapai (sConsolidated Sheet) .Range ("1: 1 ") = Sheet.Range (" 1: 1 ") Vertė lConRow = 1 Pabaiga Jei lSheetRow = 0 On Error Atnaujinti Next lSheetRow = Sheet.Cells.Find (" * ", langeliai (1, 1), SearchOrder: = xlByRows, SearchDirection: = xlPrevious) .Veikite klaidą GoTo 0 Jei (lSheetRow> 1) tada lapai (sConsolidated Sheet) .Range (lConRow + 1 & ":" & lSheetRow + lConRow - 1) = lapas.Range ("2:" & lSheetRow) .Vertybė lConRow = Lakštai (sConsolidatedSheet) .Pasirinkite ("*", langeliai (1, 1), SearchOrder: = xlByRows, SearchDirection: = xlPrevious). 

Ačiū rizvisa1 už šį patarimą.

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai