Skopírujte stĺpce alebo stĺpce z každého listu do jedného listu pomocou jazyka VBA v programe Microsoft Excel

Anonim

Kopírovanie údajov z viacerých hárkov do rovnakého stĺpca sa niekedy stáva rutinou. Tomuto kroku sa dá vyhnúť pomocou automatizácie. Ak chcete vytvoriť konsolidovaný hárok po skopírovaní údajov zo stĺpca každého hárka do jedného listu, mali by ste si prečítať tento článok.

V tomto článku vytvoríme makro na kopírovanie údajov z konkrétneho stĺpca a vloženie do nového hárka.

Surové údaje pre tento príklad pozostávajú z údajov o zamestnancoch vo forme zošita programu Excel obsahujúceho tri listy s rezortnými, osobnými a kontaktnými údajmi zamestnancov.

Na kopírovanie údajov z rôznych hárkov do nového hárka sme vytvorili makro „CopyColumns“. Toto makro je možné spustiť kliknutím na tlačidlo „Spustiť makro“ na hárku „Hlavné“.

Makro „CopyColumns“ vloží za hárok „Main“ nový hárok s názvom „Master“. „Hlavný“ hárok bude obsahovať konsolidované údaje zo všetkých hárkov.

Vysvetlenie kódu

Worksheets.Add (po: = pracovné listy ("hlavné"))

Vyššie uvedený kód sa používa na vloženie nových pracovných hárkov za „hlavný“ pracovný hárok.

Ak Source.Name "Master" a Source.Name "Main" Potom

Koniec Ak

Vyššie uvedený kód sa používa na obmedzenie kópie údajov z listu „Master“ a „Main“.

Source.UsedRange.Copy Destination.Columns (Last)

Vyššie uvedený kód sa používa na kopírovanie údajov zo zdrojového listu do cieľového listu.

Pre každý zdroj v tejto pracovnej knihe. Pracovné listy

Ak Source.Name = "Master" Potom

MsgBox „Hlavný hárok už existuje“

Ukončiť sub

Koniec Ak

Ďalšie

Vyššie uvedený kód sa používa na kontrolu, či hárok „Master“ už v zošite existuje. Makro zastaví vykonávanie, ak hárok „Hlavný“ už v zošite existuje.

Pri kódovaní postupujte podľa nižšie uvedených pokynov

 Možnosť Explicitné čiastkové stĺpce kopírovania () Dim zdroj ako pracovný hárok Dim cieľ ako pracovný hárok Dim trvať ako dlhá Application.ScreenUpdating = False 'Kontrola, či hárok „Master“ už v zošite existuje pre každý zdroj v ThisWorkbook.Worksheets If Source.Name = „Master“ Potom MsgBox „Hlavný hárok už existuje“ Ukončiť Sub End If Next 'Vkladanie nových pracovných hárkov do zošita Nastaviť cieľ = Pracovné listy.Pridať (po: = Pracovné listy ("Hlavné"))' Premenovanie pracovného listu Cieľ.Name = "Master" 'Opakovanie prostredníctvom pracovných hárkov v zošite pre každý zdroj v tejto pracovnej knihe. Pracovné listy ak Source.Name "Master" a Source.Name "Main" Then 'Nájdenie posledného stĺpca z cieľového listu Last = Destination.Range ("A1"). SpecialCells ( xlCellTypeLastCell). Stĺpec Ak posledný = 1 Potom 'Vloženie údajov do cieľového listu Source.UsedRange.Copy Destination.Columns (Last) Else Source.UsedRange.Copy Destination.Columns (Last + 1) End If End If Next Columns.AutoFit Application.ScreenUpdating = True End Sub 

Ak sa vám tento blog páčil, zdieľajte ho so svojimi priateľmi na Facebooku. Môžete nás tiež sledovať na Twitteri a Facebooku.

Budeme radi, ak sa nám ozvete, dajte nám vedieť, ako môžeme zlepšiť našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku