Excel VBA opseg kopiranja na drugi list (8 najlakših načina)

  • Podijeli Ovo
Hugh West

Kad god vam zatreba, možete kopirati raspon s jednog lista na drugi list ili radnu knjigu. Postoje različite vrste kopiranja i lijepljenja. Prateći ovaj članak, upoznat ćete različite načine korištenja Excel VBA raspona kopiranja na drugi list.

Da bi objašnjenje bilo živahnije, koristit ću primjer skupa podataka koji predstavlja lične podatke određenih osoba . Skup podataka ima 4 kolone. Ove kolone su Ime, Prezime, Puno ime, i E-mail .

Preuzmite radnu svesku za vježbanje

VBA Kopiraj opseg na drugi list.xlsm

8 načina za Excel VBA Kopiraj opseg na drugi list

1. Kopiraj raspon na drugi list s formatom

Kad god želite Kopirati raspon s jednog lista na drugi list pomoću Format , to možete jednostavno učiniti korištenjem VBA .

Ovdje ću Kopirati opseg od Set podataka list na WithFormat list.

Pokrenimo proceduru,

Prvo otvorite karticu Programer >> odaberite Visual Basic

Također možete koristiti ALT + F11 tastaturu da otvorite VBA urednik.

Sljedeće će se otvoriti novi prozor pod nazivom Microsoft Visual Basic za aplikacije.

Odatle otvorite Insert >> odaberite Module .

A Modul će se otvoriti, a zatim unesite sljedeći kod u otvoreni >> odaberite Prikaži makroe

➤ Pojavit će se dijaloški okvir .

Sada, iz Naziv makroa odaberite Copy_Range_BelowLastCell_AnotherSheets također odaberite radnu knjigu unutar Makroa u .

Konačno, Pokreni odabrani makro .

Stoga će kopirati odabrani raspon i zalijepiti ga iz posljednjeg reda drugog lista .

8. VBA Kopirajte raspon u zadnji red druge radne knjige

Ako želite Kopirati opseg do posljednjeg reda drugog lista radne knjige također možete koristiti VBA .

Ovdje ću Kopirati opseg iz Seta podataka2 list u list1 od knjige2 ali iz prve ćelije koja nije prazna.

Da započnete proceduru,

Prvo otvorite karticu Programer >> odaberite Visual Basic

Također možete koristiti ALT + F11 tastaturu da otvorite VBA uređivač.

Sljedeće, otvorit će se novi prozor Microsoft Visual Basic za aplikacije.

Odatle otvorite Insert >> odaberite Module .

A Modul će se otvoriti, a zatim unesite sljedeći kod u otvoreni Modul .

8863

Ovdje sam deklarirao Sub proceduru Copy_Range_BelowLastCell_To_Another_Workbook gdje je wsCopy i wsDestination su vrsta radnog lista , lCopyLastRow i lDestLastRow su tip Long .

Prvo se koristi Set za postavljanje varijabli za list za kopiranje i odredišnog lista.

Dalje, koristio metodu Row da pronađe zadnji red na osnovu podataka kolone A u rasponu kopiranja.

Opet koristi metodu Row za pronalaženje prvog praznog reda na osnovu podataka kolone A u odredišnom rasponu također se koristi Offset za pomicanje prema dolje za jedno svojstvo.

Konačno, Kopirano podaci Dataset2 list iz Excel VBA Opseg kopiranja u drugu radnu knjigu Sheet.xlsm do odredišta Sheet1 radne knjige Book2.xlsx .

Sada, Sačuvajte kod i vratite se na radni list.

Sljedeće, otvorite karticu Prikaz >> iz Makroa >> odaberite Prikaži makroe

➤ Pojavit će se dijaloški okvir .

Sada, iz Naziv makroa odaberite Copy_Range_BelowLastCell_To_Another_Workbook također odaberite radnu knjigu unutar Macros in .

Konačno, Pokreni odabrani Makro .

Stoga će Kopirati odabrani raspon sa postojećeg lista u zadnji red druge radne knjige.

Odjeljak za vježbanje

U radnoj svesci dao sam vježbu za vježbanje ovih objašnjenih načina u Excel VBA opsegu kopiranja na drugi list.

Zaključak

U ovom članku sam objasnio 8 različitih vrsta lakih i brzih načinaExcel VBA kopiraj opseg na drugi list. Ovi različiti načini će vam pomoći da kopirate raspon s jednog lista na drugi, kao i s jednog lista na drugi radnu knjigu. Na kraju, ali ne i najmanje važno, ako imate bilo kakve prijedloge, ideje i povratne informacije, slobodno komentirajte ispod.

Modul.
6652

Ovdje sam deklarirao Sub proceduru Copy_Range_withFormat_ToAnother_Sheet

Uzeo sam opseg B1:E10 da kopiram sa postojećeg lista na ime lista S formatom .

Ovdje sam koristio Kopiraj metoda za kopiranje odabranog raspona, Kopiraj metoda kopira bilo koji raspon sa Format .

Konačno, Sačuvaj kod i vrati se na radni list .

Dalje, otvorite karticu Prikaz >> iz Makroa >> odaberite Prikaži makroe

➤ Pojavit će se dijaloški okvir .

Sada, iz Naziv makroa odaberite Copy_Range_withFormat_ToAnother_Sheet također odaberite radnu knjigu unutar Makroa u .

Konačno, Pokreni odabrani Makro .

Stoga će Kopirati odabrani raspon sa Format na novi list koji sam odabrao ( S formatom) .

2. VBA kopiraj opseg na drugi list bez formata

Također je moguće Kopirati opseg na drugi list bez Formatiranja pomoću VBA .

Ovdje ću Kopirati raspon od Set podataka list do WithoutFormat sheet.

Započnimo proceduru,

Sada otvorite Developer kartica >> odaberite Visual Basic ( koristite ALT + F11)

Sljedeće će se otvoriti Microsoft Visual Basic za aplikacije.

Zatim otvorite Insert >> odaberite Module .

A Modul će se otvoriti, a zatim unesite sljedeći kod u otvoreni Modul .

4340

Ovdje sam deklarirao Sub proceduru Copy_Range_WithoutFormat_Toanother_Sheet

Uzeo sam raspon B1:E10 za kopiranje sa postojećeg lista u naziv lista BezFormat .

Ovdje sam koristio metodu Kopiraj da kopiram odabrani raspon, ali i spomenuto Paste:=xlPasteValues ​​ u PasteSpecial metodi tako da će zalijepiti samo Vrijednosti odabranog raspona, ne i format.

Konačno , Sačuvajte kod i vratite se na radni list.

Dalje, otvorite karticu Prikaz >> iz Makroa >> odaberite Prikaži makroe

➤ Pojavit će se dijaloški okvir .

Sada, iz Naziv makroa odaberite Copy_Range_WithoutFormat_Toanother_Sheet i također odaberite radnu knjigu unutar Makroa u .

Konačno, Pokrenite odabrani makro .

Na taj način će Kopirati odabrani raspon samo sa Vrijednosti ne Format .

3. Kopirajte raspon na drugi list s formatom i širinom kolone

Ponekad ćete možda htjeti Kopirajte bilo koji odabrani raspon kakav jeste, za to možete Kopirati opseg sa Format i Širina kolone .

Ovdje, Kopirat ću raspon od Set podataka list do Format & Širina kolone list.

Da biste vidjeli proceduru za obavljanje zadatka koristeći VBA ,

Prvo, otvorite karticu Razvojni programer >> odaberite Visual Basic

Također možete koristiti ALT + F11 tastaturu da otvorite VBA uređivač.

Sljedeće, otvorit će se novi prozor Microsoft Visual Basic za aplikacije.

Tamo otvorite Insert >> odaberite Module .

A Modul će se otvoriti, a zatim unesite sljedeći kod u otvoreni Modul .

7000

Ovdje sam deklarirao Sub proceduru Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth

Uzeo sam raspon B1:E10 za kopiranje sa postojećeg lista na naziv odredišnog lista Format & Širina kolone .

Ovdje sam koristio Kopiraj metod da kopiram odabrani raspon. Također sam koristio metodu PasteSpecial gdje sam spomenuo Paste:=xlPasteColumnWidths tako da zalijepi odabrani raspon zajedno sa Format i Column Width .

Konačno, Sačuvajte kod i vratite se na radni list.

Dalje, otvorite karticu Prikaz >> iz Makroa >> odaberite Prikaži makroe

➤ Pojavit će se dijaloški okvir .

Sada, iz Naziv makroa odaberite Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth i također odaberite radnu knjigu unutar Makroa u .

Konačno, Pokrenite odabrano Makro .

Kao rezultat toga, Kopirat će odabrani raspon sa Format i Širina kolone .

4. VBA kopirajte opseg na drugi list sa formulom

U slučaju da imate formulu u svom skupu podataka koju želite kopirati. Bez brige! Možete kopirati raspon koji sadrži Formula na drugi list zadržavajući formulu netaknutom.

Ovdje ću Kopirati opseg sa Set podataka list na S Formulom list

Počnimo s procedurom,

Za početak otvorite karticu Razvojni programer >> odaberite Visual Basic ( također možete koristiti ALT + F11 tastaturu)

Dalje, će otvoriti Microsoft Visual Basic za aplikacije.

Odatle otvorite Insert >> odaberite Module .

A Modul će se otvoriti, a zatim unesite sljedeći kod u otvoreni Modul .

6631

Ovdje sam deklarirao Sub proceduru Copy_Range_withFormula_ToAnother_Sheet

Uzeo sam raspon B1:E10 za kopiranje sa postojećeg lista na naziv odredišnog lista Sa formulom .

Ovdje sam koristio metodu Kopiraj da kopiram odabrani raspon. Također sam koristio metodu PasteSpecial gdje sam spomenuo Paste:=xlPasteFormulas tako da nosi Formule zajedno sa odabranim rasponom.

Konačno , Sačuvajte kod i vratite se na radni list.

Zatim otvorite Prikaz kartica >> iz Makroa >> odaberite Prikaži makroe

➤ Pojavit će se dijaloški okvir .

Sada, iz Naziv makroa odaberite Copy_Range_withFormula_ToAnother_Sheet također odaberite radnu knjigu unutar Makroa u .

Konačno, Pokreni odabrani Makro .

Dakle, Kopirat će sve odabrane raspone ćelija sa Formulama .

Slična očitanja:

  • Kako koristiti VBA pomak raspona (11 načina)
  • VBA za svaku ćeliju u rasponu u Excelu (3 metode)
  • Kako koristiti VBA objekt raspona u Excelu (5 svojstava)

5. Kopirajte raspon sa AutoFit na drugi list

Dok Kopirate opseg na drugi list, također možete koristiti metodu AutoFit u VBA u Auto Fit kopirani raspon u novom listu.

Ovdje ću Kopirati opseg iz Seta podataka sheet to Auto Fit sheet

Počnimo s procedurom,

Prvo, otvorite karticu Developer >> odaberite Visual Basic

Također možete koristiti ALT + F11 tastaturu da otvorite VBA uređivač.

Sljedeće će se otvoriti prozor Microsoft Visual Basic za aplikacije.

Zatim otvorite Insert > ;> odaberite Module .

A Modul će se otvoriti, a zatim unesite sljedeći kod u otvoreni Modul .

7363

Ovdje sam deklarirao Sub proceduru Copy_Range_withFormat_AutoFit

Prvo sam odabrao radni list Set podataka . Zatim je uzet raspon B1:E10 za kopiranje sa postojećeg lista na odredišni list pod nazivom AutoFit .

Ovdje sam koristio Kopiraj metoda za kopiranje odabranog raspona i metoda AutoFit će automatski prilagoditi date stupce B:E .

Konačno, Sačuvajte kod i idite nazad na radni list.

Sljedeće, otvorite karticu Prikaz >> iz Makroa >> odaberite Prikaži makroe

➤ Pojavit će se dijaloški okvir .

Sada, iz Naziv makroa odaberite Copy_Range_withFormat_AutoFit također odaberite radnu knjigu unutar Makroi u .

Konačno, Pokreni odabrani Makro .

Stoga će Kopirati odabrani raspon na novi list i također Automatski uklopiti kolone.

6. VBA Kopiraj opseg u drugu radnu svesku

Ako želite, također možete Kopirati raspon s jednog lista na drugi list druge radne knjige.

Ovdje ću Kopirati opseg od Set podataka list na List1 od Knjige1 radna sveska.

Pokrenimo proceduru,

Prvo otvorite karticu Razvojni programer >> odaberite Visual Basic (y također možete koristiti ALT + F11 tastaturu)

Zatim, otvorit će se Microsoft VisualOsnovno za aplikacije.

Dalje, otvorite Insert >> odaberite Module .

A Modul će se otvoriti, a zatim unesite sljedeći kod u otvoreni Modul .

2383

Ovdje sam deklarirao Sub proceduru Copy_Range_WithFormat_Toanother_WorkBook

Uzeo sam raspon B3:E10 iz naziva lista Set podataka za kopiranje sa postojećeg lista u naziv nove radne knjige Knjiga1 i naziv lista List1 .

Ovdje sam koristio metodu Kopiraj da kopiram odabrani raspon u novu radnu knjigu.

Konačno, Sačuvaj kod i vrati se na radni list.

Dalje, otvorite karticu Prikaz >> iz Makroa >> odaberite Prikaži makroe

➤ Pojavit će se dijaloški okvir .

Sada, iz Naziv makroa odaberite Copy_Range_WithFormat_Toanother_WorkBook također odaberite radnu knjigu unutar Macros in .

Konačno, Pokreni odabrani Makro .

Sada će Kopirati odabrani raspon sa lista Set podataka u drugu radnu knjigu.

7. Kopirajte raspon u zadnji red drugog lista

U svakom slučaju, ako želite Kopirati opseg na drugi list iz određene ćelije ili zadnje ćelije to možete učiniti pomoću VBA .

Prije ulaska u proceduru, želim vam reći da sam uzeo dva nova lista koja se sastoje od Puno ime, e-mail, i Adresa .

Hajde da prvo pogledamo Set podataka2 list.

Ovdje je ispod zadnje ćelije list.

Ovdje ću Kopirati raspon od Set podataka2 list do ispod zadnje ćelije ali iz prve ćelije koja nije prazna.

Za početak otvorite karticu Razvojnik >> odaberite Visual Basic

Sljedeće će se otvoriti Microsoft Visual Basic za aplikacije.

Zatim otvorite Ubaci >> odaberite Module .

A Modul će se otvoriti, a zatim unesite sljedeći kod u otvoreni Modul .

Sub Copy_Range_withFormat_AutoFit() Sheets("Dataset").Select Range("B1:E10").Copy Sheets("AutoFit").Select Range("B1").Select ActiveSheet.Paste Columns("B:E").AutoFit End Sub

Ovdje sam deklarirao Sub proceduru Copy_Range_BelowLastCell_AnotherSheets

Prvo sam odabrao list Set podataka2 , a zatim je koristio Row metod da prebroji Posljednji red i zadržao izbrojani red u lr .

Zatim se raspon A2:C & lr za kopiranje sa postojećeg lista na naziv odredišnog lista ispod zadnje ćelije .

Opet, koristio metodu Red za brojanje Posljednje Red drugog lista pod nazivom ispod zadnje ćelije i zadržao izbrojani red u lrAnotherSheet .

Ovdje sam koristio metodu Kopiraj da kopirate odabrani raspon i metoda AutoFit će automatski prilagoditi date stupce A:C .

Konačno, Sačuvajte kod i vratite se nazad na radni list.

Sljedeće otvorite karticu Prikaz >> iz Makroa

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.