Kopirajte stolpec ali stolpce iz vsakega lista v en list z uporabo VBA v programu Microsoft Excel

Anonim

Včasih postane kopiranje podatkov z več listov za isti stolpec rutinsko. Temu koraku se je mogoče izogniti z avtomatizacijo. Če želite po kopiranju podatkov iz stolpca vsakega lista v en list narediti konsolidiran list, preberite ta članek.

V tem članku bomo ustvarili makro za kopiranje podatkov iz določenega stolpca in lepljenje v nov list.

Neobdelani podatki za ta primer so podatki o zaposlenih v obliki Excelovega delovnega zvezka, ki vsebuje tri liste z oddelkovnimi, osebnimi in kontaktnimi podatki zaposlenih.

Za kopiranje podatkov z različnih listov v nov list smo ustvarili makro »CopyColumns«. Ta makro lahko zaženete s klikom na gumb »Zaženi makro« na listu »Glavni«.

Makro »CopyColumns« bo za list »Main« vstavil nov list z imenom »Master«. List »Glavni« bo vseboval konsolidirane podatke z vseh listov.

Razlaga kode

Delovni listi.Dodaj (po: = Delovni listi ("Glavni"))

Zgornja koda se uporablja za vstavljanje novih delovnih listov po delovnem listu »Glavni«.

Če Source.Ime "Master" In Source.Name "Main" Potem

Konec Če

Zgornja koda se uporablja za omejitev kopiranja podatkov z "glavnega" in "glavnega" lista.

Source.UsedRange.Copy Destination.Columns (zadnji)

Zgornja koda se uporablja za kopiranje podatkov z izvornega lista na ciljni list.

Za vsak vir v tej delovni knjigi. Delovni listi

Če je Source.Name = "Master" Potem

MsgBox "Glavni list že obstaja"

Zapri pod

Konec Če

Naslednji

Zgornja koda se uporablja za preverjanje, ali list »Glavni« že obstaja v delovnem zvezku. Makro bo ustavil izvajanje, če list »Glavni« že obstaja v delovnem zvezku.

Za kodo sledite spodaj

 Možnost Izrecno podkopiranje stolpcev () Zatemni vir kot delovni list Zatemni cilj kot delovni list zatemni kot dolgo Application.ScreenUpdating = False 'Preverjanje, ali list "Master" že obstaja v delovnem zvezku za vsak vir v ThisWorkbook.Worksheets If Source.Name = "Master" Nato MsgBox "Glavni list že obstaja" Zapri Sub End If Next "Vstavljanje novih delovnih listov v delovni zvezek Set Destination = Worksheets.Add (after: = Worksheets (" Main ")) 'Preimenovanje delovnega lista Destination.Name =" Master "' Looping prek delovnih listov v delovnem zvezku Za vsak vir v tej delovni knjigi.Delovni listi Če vir.ime "glavni" in izvorno ime "glavno" nato "iskanje zadnjega stolpca na ciljnem listu zadnja = cilj.razpon (" A1 "). posebne celice ( xlCellTypeLastCell). Stolpec, če je Zadnji = 1 Potem 'Lepljenje podatkov v ciljni list Vir.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 

Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte