Kopirajte obseg z več področji na določen list z uporabo VBA v programu Microsoft Excel

Kazalo

V tem članku bomo ustvarili makro za združitev več področij na določen list.

Neobdelane podatke sestavljajo nekateri vzorčni podatki, ki vključujejo ime in starost. Imamo dve področji, ki vsebujeta surove podatke. Na listu »Destination« želimo združitev obeh področij.

S klikom na gumb "Kopiraj zapis" se združijo podatki z obeh področij skupaj z oblikovanjem.

S klikom na gumb "Kopiraj samo vrednost" se bodo združili tudi podatki z obeh področij, vendar brez kopiranja oblike celice.

Razlaga kode

Za vsako majhno listo v listih ("glavno"). Obseg ("A9: B13, D16: E20"). Območja

Naslednji Smallrng

Zgornja zanka For Every se uporablja za zanko na določenih območjih.

Nastavi DestRange = Sheets ("Destination"). Range ("A" & LastRow)

Zgornja koda se uporablja za ustvarjanje obsega predmeta zadnje celice, kamor želimo kopirati podatke.

Smallrng.Copy DestRange

Zgornja koda se uporablja za kopiranje podatkov na določeni cilj.

Za kodo sledite spodaj

 Možnost Eksplicitna podkopijaMultiArea () 'Razglasitev spremenljivk Dim DestRange kot obseg Dim Smallrng kot obseg Dim LastRow As Long' Ponavljanje skozi določena območja za vsako majhno listo ("Main"). Range ("A9: B13, D16: E20"). Področja 'Iskanje številke vrstice zadnje celice LastRow = Sheets ("Destination"). Range ("A1"). SpecialCells (xlLastCell) .Row + 1' Izbira celice, v katero je treba zapise kopirati Če je LastRow = 2 Nato nastavite DestRange = Sheets ("Destination"). Range ("A" & LastRow - 1) Else Set DestRange = Sheets ("Destination"). Range ("A" & LastRow) End If 'Kopiranje zapisov v določeno ciljno območje Smallrng.Copy DestRange Naslednji Smallrng End Sub Sub CopyMultiAreaValues ​​() 'Deklariranje spremenljivk Dim DestRange kot obseg Dim Smallrng kot obseg Dim LastRow As Long' Ponavljanje skozi določena področja za vsako Smallrng v listih ("Main"). Razpon ("A9: B13, D16: E20" ) .Areas 'Iskanje številke vrstice zadnje celice LastRow = Sheets ("Destination"). Range ("A1"). SpecialCells (xlLastCell) .Row + 1 With Smallrng' Izbira celice, kjer je ponovno vrvice je treba kopirati Če je LastRow = 2 Nato nastavite DestRange = Sheets ("Destination"). Range ("A" & LastRow - 1) .Resize (.Rows.Count, .Columns.Count) Else Set DestRange = Sheets (" Destination "). Range (" A "& LastRow) .Resize (.Rows.Count, .Columns.Count) End If End With 'Dodeljevanje vrednosti od vira do cilja DestRange.Value = Smallrng.Value Naslednja Smallrng 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

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave