U ovom ćemo članku stvoriti makronaredbu za spajanje više područja na određeni list.
Sirovi podaci sastoje se od nekih uzoraka podataka, koji uključuju ime i dob. Imamo dva područja koja sadrže neobrađene podatke. Želimo spoj oba područja na listu "Odredište".
Klikom na gumb "Kopiraj zapis" učinit će se sjedinjenje podataka iz oba područja, zajedno s oblikovanjem.
Klikom na gumb "Kopiraj samo vrijednost" također će se spojiti podaci iz oba područja, ali bez kopiranja formata ćelije.
Objašnjenje koda
Za svaki manji list u listovima ("Glavni"). Raspon ("A9: B13, D16: E20"). Područja
Sljedeći Smallrng
Gornja petlja Za svaku se koristi za petlju na definiranim područjima.
Postavi DestRange = Listovi ("Odredište"). Raspon ("A" & Zadnji red)
Gornji kôd koristi se za stvaranje objekta raspona zadnje ćelije, u koji želimo kopirati podatke.
Smallrng.Copy DestRange
Gornji kôd koristi se za kopiranje podataka na navedeno odredište.
Molimo slijedite dolje za kôd
Opcija Eksplicitna pod -kopijaMultiArea () 'Deklariranje varijabli Dim DestRange kao raspon Dim Smallrng kao raspon Dim LastRow As Long' Petlja kroz navedena područja Za svaki Smallrng u listovima ("Main"). Raspon ("A9: B13, D16: E20"). Područja 'Pronalaženje broja retka posljednje ćelije LastRow = Sheets ("Destination"). Range ("A1"). SpecialCells (xlLastCell) .Row + 1' Odabir ćelije u koju je potrebno kopirati zapise If LastRow = 2 Zatim postavite DestRange = Listovi ("Odredište"). Raspon ("A" & LastRow - 1) Ostalo Postavi DestRange = Listovi ("Odredište"). Raspon ("A" & LastRow) Kraj Ako 'Kopiranje zapisa u navedeni raspon odredišta Smallrng.Copy DestRange Slijedeća potkapija manjeg kraja Potpuna kopijaMultiAreaValues () 'Deklariranje varijabli Dim DestRange kao raspon Dim Smallrng kao raspon Dim LastRow As Long' Petlja kroz određena područja za svaki Smallrng u listovima ("Main"). Raspon ("A9: B13, D16: E20" ). Područja 'Pronalaženje broja retka posljednje ćelije LastRow = Sheets ("Destination"). Range ("A1"). SpecialCells (xlLastCell) .Row + 1 With Smallrng' Odabir ćelije u kojoj je ponovno kabele treba kopirati Ako je LastRow = 2 Zatim postavite DestRange = Sheets ("Destination"). Range ("A" & LastRow - 1) .Resize (.Rows.Count, .Columns.Count) Else DestRange = Sheets (" Odredište "). Raspon (" A "& LastRow). Promijeni veličinu (.Rows.Count, .Columns.Count) End If End With 'Dodjeljivanje vrijednosti od izvora do odredišta DestRange.Value = Smallrng.Value Next Smallrng End Sub
Ako vam se dopao ovaj blog, podijelite ga sa svojim prijateljima na Facebooku. Također, možete nas pratiti na Twitteru i Facebooku.
Voljeli bismo vas čuti, javite nam kako možemo poboljšati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte