Nukopijuokite stulpelį ar stulpelius iš kiekvieno lapo į vieną lapą naudodami „Microsoft Excel“ VBA

Anonim

Kartais tampa įprastu darbu kopijuoti duomenis iš kelių to paties stulpelio lapų. Šio žingsnio galima išvengti naudojant automatiką. Jei norite sukurti konsoliduotą lapą, nukopijavę duomenis iš kiekvieno lapo stulpelio į vieną lapą, turėtumėte perskaityti šį straipsnį.

Šiame straipsnyje sukursime makrokomandą, skirtą nukopijuoti duomenis iš konkretaus stulpelio ir įklijuoti į naują lapą.

Neapdorotus šio pavyzdžio duomenis sudaro darbuotojų duomenys „Excel“ darbaknygės pavidalu, kuriame yra trys lapai su padalinių, darbuotojų ir kontaktiniais duomenimis.

Norėdami nukopijuoti duomenis iš skirtingų lapų į naują lapą, sukūrėme makrokomandą „CopyColumns“. Šią makrokomandą galima paleisti spustelėjus mygtuką „Vykdyti makro“, esantį „Pagrindiniame“ lape.

„CopyColumns“ makrokomanda po pagrindinio lapo įterps naują lapą, pavadintą „Master“. „Pagrindiniame“ lape bus konsoliduoti visų lapų duomenys.

Kodo paaiškinimas

Darbo lapai. Pridėti (po: = darbalapiai („Pagrindinis“))

Aukščiau pateiktas kodas naudojamas įterpti naujus darbalapius po darbalapio „Pagrindinis“.

Jei Šaltinis.Vardas "Meistras" Ir Šaltinis.Pavadinimas "Pagrindinis" Tada

Pabaiga Jei

Aukščiau pateiktas kodas naudojamas apriboti duomenų kopijas iš „Pagrindinis“ ir „Pagrindinis“ lapų.

Source.UsedRange.Copy Destination.Columns (Paskutinis)

Aukščiau pateiktas kodas naudojamas duomenims kopijuoti iš šaltinio lapo į paskirties lapą.

Kiekvienam šaltiniui šioje darbo knygoje. Darbo lapai

Jei Source.Name = "Pagrindinis" Tada

„MsgBox“ pagrindinis lapas jau egzistuoja

Išeiti iš Sub

Pabaiga Jei

Kitas

Aukščiau pateiktas kodas naudojamas patikrinti, ar darbo knygoje jau yra „Pagrindinis“ lapas. Makrokomandos sustabdys vykdymą, jei darbaknygėje jau yra „Pagrindinis“ lapas.

Sekite toliau pateiktą kodą

 Parinktis „Explicit Sub CopyColumns“ („Dim“ šaltinis kaip darbalapis „Dim“ paskirties vieta kaip darbalapis „Dim Last Last as Long Application.ScreenUpdating = False“ Tikrinama, ar lapas „Pagrindinis“ jau yra kiekvieno šio darbo knygos šaltinio darbo knygoje. Šaltiniai. Tada „MsgBox“ pagrindinis lapas jau egzistuoja “Išeiti iš antrinio galo, jei kitas“ Naujų darbalapių įterpimas į darbaknygę Nustatykite paskirties vietą = darbalapiai. Pridėti (po: = darbalapiai („Pagrindinis“)) 'Darbo lapo pervardijimas Destination.Name = "Master"' Looping per darbalapius darbaknygėje Kiekvienam šaltiniui šioje darbo knygoje. Darbo lapai Jei šaltinis. Pavadinimas "Pagrindinis" ir Šaltinis. Pavadinimas "Pagrindinis" Tada "Paskutinio stulpelio iš paskirties lapo radimas Paskutinis = Paskirtis.Range (" A1 "). SpecialCells ( xlCellTypeLastCell) .Column If Last = 1 Tada 'Įklijuokite duomenis į paskirties lapą Source.UsedRange.Copy Destination.Columns (Last) Else Source.UsedRange.Copy Destination.Columns (Last + 1) End if End if Next Column.AutoFit Application.ScreenUpdating = Tikrasis pabaiga 

Jei jums patiko šis tinklaraštis, pasidalykite juo su draugais „Facebook“. Be to, mus galite sekti „Twitter“ ir „Facebook“.

Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime pagerinti savo darbą ir padaryti jį geresnį. Rašykite mums el