Mõnikord muutub tavapäraseks tööks sama veeru mitme lehe andmete kopeerimine. Seda sammu saab automatiseerimise abil vältida. Kui soovite pärast iga lehe veerust andmete kopeerimist ühele lehele teha konsolideeritud lehe, peaksite seda artiklit lugema.
Selles artiklis loome makro, et kopeerida andmed konkreetsest veerust ja kleepida uuele lehele.
Selle näite toorandmed koosnevad töötajate andmetest Exceli töövihiku kujul, mis sisaldab kolme lehte töötajate osakondade, isiku- ja kontaktandmetega.
Erinevate lehtede andmete kopeerimiseks uuele lehele oleme loonud makro “CopyColumns”. Seda makro saab käivitada, klõpsates lehel „Põhi” nuppu „Käivita makro”.
Makro „CopyColumns” lisab lehe „Main” järele uue lehe nimega „Master”. Põhileht sisaldab kõigi lehtede koondandmeid.
Koodi selgitus
Töölehed.Add (pärast: = töölehed ("Main"))
Ülaltoodud koodi kasutatakse uute töölehtede sisestamiseks töölehe „Peamine” järele.
Kui Allikas.Nimi "Meister" Ja Allikas.Nimi "Peamine" Siis
Lõpp Kui
Ülaltoodud koodi kasutatakse andmete „Master” ja „Main” andmete koopia piiramiseks.
Source.UsedRange.Copy Destination.Columns (viimane)
Ülaltoodud koodi kasutatakse andmete kopeerimiseks lähtelehelt sihtlehele.
Iga allika kohta käesolevas töövihikus. Töölehed
Kui Source.Name = "Master" Siis
MsgBox "Põhileht on juba olemas"
Välju sub
Lõpp Kui
Edasi
Ülaltoodud koodi abil kontrollitakse, kas töövihikus on leht „Master” juba olemas. Makro peatab täitmise, kui töövihikus on leht „Master” juba olemas.
Palun järgige koodi allpool
Valik Selgesõnaline alamkoopia CopyColumns () Dim Allikas töölehena Dim Sihtkoht töölehena Dim Viimane kui kaua Application.ScreenUpdating = False 'Kontrollimine, kas leht "Master" on juba olemas käesoleva töövihiku iga allika töövihikus. Source.Name = "Master" Siis MsgBox "Põhileht on juba olemas" Välju Sub End If Next 'Uute töölehtede sisestamine töövihikusse Set Destination = Worksheets.Add (after: = Worksheets ("Main"))' Töölehe ümbernimetamine Destination.Name = "Master" 'Looping töövihiku töölehtede kaudu Iga allika jaoks käesolevas töövihikus. Töölehed Kui allikas.Nimi "Meister" Ja Allikas.Nimi "Peamine" Siis "Sihtlehe viimase veeru leidmine Last = Destination.Range (" A1 "). SpecialCells ( xlCellTypeLastCell) .Column If Last = 1 Siis 'andmete kleepimine sihtlehele Source.UsedRange.Copy Destination.Columns (Last) Else Source.UsedRange.Copy Destination.Columns (Last + 1) End if Next Column.AutoFit Application.ScreenUpdating = True End Sub
Kui teile see blogi meeldis, jagage seda oma sõpradega Facebookis. Lisaks saate meid jälgida Twitteris ja Facebookis.
Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd paremaks muuta ja teie jaoks paremaks muuta. Kirjuta meile meilisaidile