Kopirajte raspon s više područja na određeni list pomoću VBA u programu Microsoft Excel

Anonim

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