V tomto článku vytvoríme makro na spojenie viacerých oblastí s určeným listom.
Surové údaje pozostávajú z niektorých vzorových údajov, ktoré zahŕňajú meno a vek. Máme dve oblasti, ktoré obsahujú nespracované údaje. Chceme zjednotenie oboch oblastí s hárkom „Cieľ“.
Kliknutím na tlačidlo „Kopírovať záznam“ sa zlúčia údaje z oboch oblastí spolu s formátovaním.
Kliknutím na tlačidlo „Kopírovať iba hodnotu“ sa tiež spoja údaje z oboch oblastí, ale bez kopírovania formátu bunky.
Vysvetlenie kódu
Pre každý malý rozmer v listoch („hlavný“). Rozsah („A9: B13, D16: E20“). Oblasti
Ďalej Smallrng
Vyššie uvedená slučka For Each sa používa na slučku vo vymedzených oblastiach.
Nastaviť DestRange = Listy („Cieľ“). Rozsah („A“ a LastRow)
Vyššie uvedený kód slúži na vytvorenie objektu rozsahu poslednej bunky, kam chceme skopírovať údaje.
Smallrng.Copy DestRange
Vyššie uvedený kód sa používa na kopírovanie údajov na určené miesto určenia.
Pri kódovaní postupujte podľa nižšie uvedených pokynov
Voľba Explicitná čiastková kópiaMultiArea () 'Deklarovanie premenných Dim DestRange ako rozsah Dim Smallrng ako Range Dim LastRow As Long' Looping through specified areas for each Smallrng In Sheets ("Main"). Range ("A9: B13, D16: E20"). Oblasti 'Nájdenie čísla riadku poslednej bunky LastRow = Listy („Cieľ“). Rozsah („A1“). SpecialCells (xlLastCell). Riadok + 1' Výber bunky, do ktorej je potrebné kopírovať záznamy. Ak LastRow = 2, potom nastavte DestRange = Listy ("Cieľ"). Rozsah ("A" & LastRow - 1) Ostatné Nastaviť DestRange = Listy ("Cieľ"). Rozsah ("A" a LastRow) Koniec Ak 'Kopírovanie záznamov do určeného cieľového rozsahu Smallrng.Copy DestRange Nasledujúci Smallrng End Sub Sub CopyMultiAreaValues () 'Deklarujúce premenné Dim DestRange ako rozsah Dim Dimr. Smallrng ako rozsah Dim LastRow As Long' Opakovanie cez určené oblasti pre každý Smallrng v listoch („Main“). Rozsah („A9: B13, D16: E20“ ). Oblasť „Nájdenie čísla riadka poslednej bunky LastRow = Listy („ Cieľ “). Rozsah („ A1 “). SpecialCells (xlLastCell). Riadok + 1 S Smallrng 'Výber bunky, kde je šnúry je potrebné skopírovať Ak LastRow = 2 Potom nastavte DestRange = Listy („Cieľ“). Rozsah („A“ a LastRow - 1). Zmeňte veľkosť (.Rows.Count, .Columns.Count) Inak Nastavte DestRange = Listy (“ Destination "). Range (" A "& LastRow) .Resize (.Rows.Count, .Columns.Count) End If End with 'Priradenie hodnôt zo zdroja do cieľa DestRange.Value = Smallrng.Value Next Smallrng 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