Kopeerige rohkemate aladega vahemik määratud lehele, kasutades Microsoft Excelis VBA -d

Anonim

Selles artiklis loome makro mitme ala liiduks määratud lehele.

Toorandmed koosnevad mõnest näidisandmest, sealhulgas nimi ja vanus. Meil on kaks valdkonda, mis sisaldavad algandmeid. Soovime mõlema valdkonna liitu lehele „Sihtkoht”.

Nupu „Kopeeri kirje” klõpsamine ühendab mõlema piirkonna andmed koos vormindamisega.

Kui klõpsate nupul „Kopeeri ainult väärtus”, ühendatakse ka mõlema piirkonna andmed, kuid ilma lahtri vormingut kopeerimata.

Koodi selgitus

Iga väiksemate lehtede jaoks ("Main"). Vahemik ("A9: B13, D16: E20").

Järgmine Smallrng

Ülaltoodud iga silmuse jaoks kasutatakse tsüklit määratletud piirkondades.

Set DestRange = Sheets ("Destination"). Vahemik ("A" ja LastRow)

Ülaltoodud koodi kasutatakse viimase lahtri vahemiku objekti loomiseks, kuhu soovime andmed kopeerida.

Smallrng. Kopeeri DestRange

Ülaltoodud koodi kasutatakse andmete kopeerimiseks määratud sihtkohta.

Palun järgige koodi allpool

 Valik Selgesõnaline Sub CopyMultiArea () 'Muutujate deklareerimine Dim DestRange Vahemik Dim Smallrng Nagu vahemik Dim LastRow nii kaua' Silmamine läbi kindlaksmääratud alade iga väikese lehtede jaoks ("Main"). Vahemik ("A9: B13, D16: E20"). Piirkondade 'Viimase lahtri rea numbri leidmine LastRow = Sheets ("Destination"). Vahemik ("A1"). SpecialCells (xlLastCell). Rida + 1' Lahtri valimine, kuhu kirjed tuleb kopeerida If LastRow = 2 Siis Set DestRange = Arvutustabelid ("Sihtkoht"). Vahemik ("A" & LastRow - 1) Muu komplekt DestRange = Lehed ("Sihtkoht"). Vahemik ("A" ja LastRow) Lõpp Kui "Kirjete kopeerimine määratud sihtvahemikku Smallrng.Copy DestRange" Järgmine Smallrng End Sub Sub CopyMultiAreaValues ​​() 'Deklareerivad muutujad Dim DestRange kui vahemik Dim Smallrng Nagu vahemik Dim LastRow kui pikk' Silmamine läbi kindlaksmääratud alade iga väikese lehtede jaoks ("Main"). Vahemik ("A9: B13, D16: E20" ) .Alade 'Viimase lahtri rea numbri leidmine LastRow = Sheets ("Destination"). Vahemik ("A1"). SpecialCells (xlLastCell). Rida + 1 koos Smallrng' Lahtri valimine, kus uuesti nöörid tuleb kopeerida. Destination "). Vahemik (" A "ja LastRow). Suuruse muutmine (.Rows.Count, .Columns.Count) End If End with" Väärtuste määramine allikast sihtkohta DestRange.Value = Smallrng.Value Järgmine Smallrng 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