Excel VBA Kopiranje območja v drug list (8 najlažjih načinov)

  • Deliti To
Hugh West

Kadar koli potrebujete, lahko kopirate območje iz enega lista v drug list ali delovni zvezek. Obstajajo različne vrste kopiranja in lepljenja. V tem članku boste spoznali različne načine uporabe Excelovega območja kopiranja VBA v drug list.

Da bo razlaga bolj živahna, bom uporabil vzorčni nabor podatkov, ki predstavlja osebne podatke določenih oseb. Nabor podatkov ima 4 stolpce. Ti stolpci so Ime, priimek, polno ime, in . E-pošta .

Prenesi delovni zvezek za prakso

VBA Kopiranje območja v drug list.xlsm

8 načinov za kopiranje območja Excel VBA v drug list

1. Kopiranje obsega na drug list z oblikovanjem

Kadar koli želite Kopiraj razpon od enega lista do drugega lista z Format lahko to preprosto storite z uporabo VBA .

Tukaj bom Kopiraj v razponu od Zbirka podatkov list na WithFormat list.

Začnimo postopek,

Najprej odprite Razvijalec zavihek>> izberite Visual Basic

Uporabite lahko tudi ALT + F11 tipkovnico, da odprete VBA urednik.

Nato se odpre novo okno z imenom Microsoft Visual Basic za aplikacije.

Od tam odprite Vstavite >> izberite Modul .

A Modul se bo odprl, nato pa v odprto okno vnesite naslednjo kodo Modul .

 Sub Copy_Range_withFormat_ToAnother_Sheet() Razpon("B1:E10").Copy Worksheets("WithFormat").Range("B1:E10") End Sub 

Tu sem razglasil Podpostopek Copy_Range_withFormat_ToAnother_Sheet

Vzel sem obseg B1:E10 za kopiranje iz obstoječega lista v ime lista WithFormat .

Tu sem uporabil Kopiraj za kopiranje izbranega območja, Kopiraj metoda kopira poljubno območje z Format .

Končno, Shrani kodo in se vrnite na delovni list.

Nato odprite Oglejte si zavihek>> od Makroji >> izberite Ogled makrov

➤ A pogovorno okno se prikaže.

Zdaj, od Ime makra izberite Copy_Range_withFormat_ToAnother_Sheet izberite tudi delovni zvezek v Makroji v .

Končno, Spustite izbrani Makro .

Zato bo Kopiraj izbrano območje z Format v nov list, ki sem ga izbral ( WithFormat) .

2. VBA Kopiranje obsega na drug list brez oblikovanja

Možno je tudi Kopiraj območja na drug list brez Format z uporabo VBA .

Tukaj bom Kopiraj v razponu od Zbirka podatkov list na WithoutFormat list.

Začnimo postopek,

Zdaj odprite Razvijalec zavihek>> izberite Visual Basic ( uporabite ALT + F11)

Nato bo odprl Microsoft Visual Basic za aplikacije.

Nato odprite Vstavite >> izberite Modul .

A Modul se bo odprl, nato pa v odprto okno vnesite naslednjo kodo Modul .

 Sub Copy_Range_WithoutFormat_Toanother_Sheet() Range("B1:E10").Copy Sheets("WithoutFormat").Range("B1").PasteSpecial _ Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub 

Tu sem razglasil Podpostopek Kopiraj_Območje_brez_formata_na_drugi_list

Vzel sem obseg B1:E10 za kopiranje iz obstoječega lista v ime lista WithoutFormat .

Tu sem uporabil Kopiraj metodo za kopiranje izbranega območja, vendar je omenil tudi Prilepi:=xlPasteValues v PasteSpecial metodo, tako da bo prilepila samo Vrednosti izbranega območja in ne oblike.

Končno, Shrani kodo in se vrnite na delovni list.

Nato odprite Oglejte si zavihek>> od Makroji >> izberite Ogled makrov

➤ A pogovorno okno se prikaže.

Zdaj, od Ime makra izberite Kopiraj_Območje_brez_formata_na_drugi_list in izberite delovni zvezek v Makroji v .

Končno, Spustite izbrani Makro .

Tako bo Kopiraj izbrano območje samo z Vrednosti ne Format .

3. Kopiranje obsega na drug list z obliko in širino stolpca

Včasih boste morda želeli Kopiraj poljubno izbrano območje, kot je, za kar lahko Kopiraj območje z Format in . Širina stolpca .

Tukaj bom Kopiraj v razponu od Zbirka podatkov list na Format & Širina stolpca list.

Če si želite ogledati postopek za izvedbo naloge z uporabo VBA ,

Najprej odprite Razvijalec zavihek>> izberite Visual Basic

Uporabite lahko tudi ALT + F11 tipkovnico, da odprete VBA urednik.

Nato se odpre novo okno Microsoft Visual Basic za aplikacije.

Tam odprite Vstavite >> izberite Modul .

A Modul se bo odprl, nato pa v odprto okno vnesite naslednjo kodo Modul .

 Sub Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth() Range("B1:E10").Copy Destination:=Sheets("Format & ColumnWidth").Range("B1") Range("B1:E10").Copy Sheets("Format & ColumnWidth").Range("B1").PasteSpecial Paste:=xlPasteColumnWidths, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False End Sub 

Tu sem razglasil Podpostopek Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth

Vzel sem obseg B1:E10 za kopiranje iz obstoječega lista v ime ciljnega lista Format & Širina stolpca .

Tu sem uporabil Kopiraj za kopiranje izbranega območja. Uporabil sem tudi metodo PasteSpecial metoda, kjer sem omenil Prilepi:=xlPasteColumnWidths tako, da prilepi izbrano območje skupaj z Format in . Širina stolpca .

Končno, Shrani kodo in se vrnite na delovni list.

Nato odprite Oglejte si zavihek>> od Makroji >> izberite Ogled makrov

➤ A pogovorno okno se prikaže.

Zdaj, od Ime makra izberite Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth in izberite delovni zvezek v Makroji v .

Končno, Spustite izbrani Makro .

Zato bo Kopiraj izbrano območje z Format in . Širina stolpca .

4. VBA Kopiranje območja na drug list s formulo

Če imate v naboru podatkov formulo, ki jo želite kopirati, ni skrbi! Kopirate lahko območje, ki vsebuje Formula na drug list, pri čemer formula ostane nedotaknjena.

Tukaj bom Kopiraj v razponu od Zbirka podatkov list na S formulo list

Začnimo postopek,

Za začetek odprite Razvijalec zavihek>> izberite Visual Basic ( lahko uporabite tudi ALT + F11 tipkovnica)

Nato bo odprl Microsoft Visual Basic za aplikacije.

Od tam odprite Vstavite >> izberite Modul .

A Modul se bo odprl, nato pa v odprto okno vnesite naslednjo kodo Modul .

 Sub Copy_Range_withFormula_ToAnother_Sheet() Range("B1:E10").Copy Sheets("WithFormula").Range("B1").PasteSpecial Paste:=xlPasteFormulas, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False End Sub 

Tu sem razglasil Podpostopek Kopiraj_območje_z_formulo_na_drugi_list

Vzel sem obseg B1:E10 za kopiranje iz obstoječega lista v ime ciljnega lista S formulo .

Tu sem uporabil Kopiraj za kopiranje izbranega območja. Uporabil sem tudi metodo PasteSpecial metoda, kjer sem omenil Prilepi:=xlPasteFormulas tako da nosi Formule skupaj z izbranim območjem.

Končno, Shrani kodo in se vrnite na delovni list.

Nato odprite Oglejte si zavihek>> od Makroji >> izberite Ogled makrov

➤ A pogovorno okno se prikaže.

Zdaj, od Ime makra izberite Kopiraj_območje_z_formulo_na_drugi_list izberite tudi delovni zvezek v Makroji v .

Končno, Spustite izbrani Makro .

Tako bo Kopiraj vsa izbrana območja celic z Formule .

Podobna branja:

  • Kako uporabiti VBA Range Offset (11 načinov)
  • VBA za vsako celico v območju v Excelu (3 metode)
  • Kako uporabljati objekt Range VBA v Excelu (5 lastnosti)

5. Kopiranje območja s funkcijo AutoFit na drug list

Medtem ko Kopiranje obseg na drug list, lahko uporabite tudi AutoFit metoda v VBA na . AutoFit kopirano območje v novem listu.

Tukaj bom Kopiraj v razponu od Zbirka podatkov list na AutoFit list

Začnimo postopek,

Najprej odprite Razvijalec zavihek>> izberite Visual Basic

Uporabite lahko tudi ALT + F11 tipkovnico, da odprete VBA urednik.

Nato se odpre okno Microsoft Visual Basic za aplikacije.

Nato odprite Vstavite >> izberite Modul .

A Modul se bo odprl, nato pa v odprto okno vnesite naslednjo kodo 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 

Tu sem razglasil Podpostopek Copy_Range_withFormat_AutoFit

Najprej sem izbral delovni list Zbirka podatkov . Potem je bil obseg B1:E10 za kopiranje iz obstoječega lista v ciljni list z imenom AutoFit .

Tu sem uporabil Kopiraj metodo za kopiranje izbranega območja in AutoFit metoda bo samodejno prilagodila dane stolpce B: E .

Končno, Shrani kodo in se vrnite na delovni list.

Nato odprite Oglejte si zavihek>> od Makroji >> izberite Ogled makrov

➤ A pogovorno okno se prikaže.

Zdaj, od Ime makra izberite Copy_Range_withFormat_AutoFit izberite tudi delovni zvezek v Makroji v .

Končno, Spustite izbrani Makro .

Zato bo Kopiraj izbrano območje na nov list in tudi AutoFit stolpci.

6. VBA Kopiranje obsega v drug delovni zvezek

Če želite, lahko Kopiraj obseg iz enega lista v drug list drugega delovnega zvezka.

Tukaj bom Kopiraj v razponu od Zbirka podatkov list na List1 na spletnem mestu Knjiga1 delovni zvezek.

Začnimo postopek,

Najprej odprite Razvijalec zavihek>> izberite Visual Basic (y lahko uporabite tudi ALT + F11 tipkovnica)

Nato se odpre Microsoft Visual Basic za aplikacije.

Nato odprite Vstavite >> izberite Modul .

A Modul se bo odprl, nato pa v odprto okno vnesite naslednjo kodo Modul .

 Sub Copy_Range_WithFormat_Toanother_WorkBook() Delovne knjige("Excel VBA Copy Range to Another Sheet.xlsm").Worksheets("Dataset").Range("B3:E10"). _ Copy Delovne knjige("Book1").Worksheets("Sheet1").Range("B3") End Sub 

Tu sem razglasil Podpostopek Kopiraj_Območje_z_obliko_v_drugo_delovno_knjigo

Vzel sem območje B3:E10 iz imena lista Zbirka podatkov za kopiranje iz obstoječega lista v novo ime delovnega zvezka Knjiga1 in ime lista List1 .

Tu sem uporabil Kopiraj za kopiranje izbranega območja v nov delovni zvezek.

Končno, Shrani kodo in se vrnite na delovni list.

Nato odprite Oglejte si zavihek>> od Makroji >> izberite Ogled makrov

➤ A pogovorno okno se prikaže.

Zdaj, od Ime makra izberite Kopiraj_Območje_z_obliko_v_drugo_delovno_knjigo izberite tudi delovni zvezek v Makroji v .

Končno, Spustite izbrani Makro .

Zdaj bo Kopiraj izbrano območje iz Zbirka podatkov list v drug delovni zvezek.

7. Kopiranje območja v zadnjo vrstico drugega lista

V vsakem primeru, če želite Kopiraj obseg v drug list iz določene celice ali zadnje celice, lahko to storite z uporabo VBA .

Pred začetkom postopka, Želim vam povedati, da, Sem vzel dve novi listi, sestavljeni iz Polno ime, e-pošta, in . Naslov .

Opazujmo Zbirka podatkov2 najprej list.

Tukaj je Pod zadnjo celico list.

Tukaj bom Kopiraj v razponu od Zbirka podatkov2 list na Pod zadnjo celico vendar iz prve neprazne celice.

Za začetek odprite Razvijalec zavihek>> izberite Visual Basic

Nato bo odprla Microsoft Visual Basic za aplikacije.

Nato odprite Vstavite >> izberite Modul .

A Modul se bo odprl, nato pa v odprto okno vnesite naslednjo kodo Modul .

 Sub Copy_Range_BelowLastCell_AnotherSheets() Sheets("Dataset2").Select lr = Cells.Find("*", Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row Range("A2:C" & lr).Copy Sheets("Below Last Cell").Select lrAnotherSheet = Cells.Find("*", Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row Cells(lrAnotherSheet + 1, 1).Select ActiveSheet.Paste Columns("A:C").AutoFit EndPod 

Tu sem razglasil Podpostopek Copy_Range_BelowLastCell_AnotherSheets

Najprej sem izbral list Zbirka podatkov2 in nato uporabil Vrstica metoda za štetje Zadnja vrstica in ohranil prešteto vrstico v lr .

Nato vzemite obseg A2:C & amp; lr za kopiranje iz obstoječega lista v ime ciljnega lista Pod zadnjo celico .

Ponovno uporabite Vrstica metoda za štetje Zadnja vrstica drugega lista z imenom Pod zadnjo celico in ohranil prešteto vrstico v lrAnotherSheet .

Tu sem uporabil Kopiraj metodo za kopiranje izbranega območja in AutoFit metoda bo samodejno prilagodila dane stolpce A:C .

Končno, Shrani kodo in se vrnite na delovni list.

Nato odprite Oglejte si zavihek>> od Makroji >> izberite Ogled makrov

➤ A pogovorno okno se prikaže.

Zdaj, od Ime makra izberite Copy_Range_BelowLastCell_AnotherSheets izberite tudi delovni zvezek v Makroji v .

Končno, Spustite izbrani Makro .

Zato bo Kopiraj izbrano območje in bo Paste iz zadnje vrstice drugega lista.

8. VBA Kopiranje območja v zadnjo vrstico drugega delovnega zvezka

Če želite Kopiraj območja v zadnjo vrstico drugega lista delovnega zvezka lahko uporabite tudi VBA .

Tukaj bom Kopiraj v razponu od Zbirka podatkov2 list na List1 na spletnem mestu Knjiga2 vendar iz prve neprazne celice.

Začetek postopka,

Najprej odprite Razvijalec zavihek>> izberite Visual Basic

Uporabite lahko tudi ALT + F11 tipkovnico, da odprete VBA urednik.

Nato se odpre novo okno Microsoft Visual Basic za aplikacije.

Od tam odprite Vstavite >> izberite Modul .

A Modul se bo odprl, nato pa v odprto okno vnesite naslednjo kodo Modul .

 Sub Copy_Range_BelowLastCell_To_Another_Workbook() Dim wsCopy As Worksheet Dim wsDestination As Worksheet Dim lCopyLastRow As Long Dim lDestLastRow As Long Set wsCopy = Workbooks("Excel VBA Copy Range to Another Sheet.xlsm").Worksheets("Dataset2") Set wsDestination = Workbooks("Book2.xlsx").Worksheets("Sheet1") lCopyLastRow = wsCopy.Cells(wsCopy.Rows.Count, "A").End(xlUp).Row lDestLastRow =wsDestination.Cells(wsDestination.Rows.Count, "A").End(xlUp).Offset(1).Row wsCopy.Range("A2:C" & lCopyLastRow).Copy wsDestination.Range("A" & lDestLastRow) End Sub 

Tu sem razglasil Podpostopek Copy_Range_BelowLastCell_To_Another_Workbook kjer je wsCopy in . wsDestination so . Delovni list vrsta, lCopyLastRow in . lDestLastRow so . Dolga vrsta.

Najprej uporabite Nastavite za nastavitev spremenljivk za list za kopiranje in ciljni list.

Nato uporabite Vrstica metoda za iskanje zadnje vrstice na podlagi podatkov stolpca A v območju kopiranja.

Ponovno uporabite Vrstica metoda za iskanje prve prazne vrstice na podlagi podatkov iz stolpca A v namembnem območju se uporablja tudi Odmik se premaknete za eno nepremičnino.

Končno, Kopirano podatke o Zbirka podatkov2 list iz Excel VBA Kopiranje območja v drug list.xlsm delovnega zvezka v ciljni List1 delovnega zvezka Book2.xlsx .

Zdaj, Shrani kodo in se vrnite na delovni list.

Nato odprite Oglejte si zavihek>> od Makroji >> izberite Ogled makrov

➤ A pogovorno okno se prikaže.

Zdaj, od Ime makra izberite Copy_Range_BelowLastCell_To_Another_Workbook izberite tudi delovni zvezek v Makroji v .

Končno, Spustite izbrani Makro .

Zato bo Kopiraj izbrano območje iz obstoječega lista v zadnjo vrstico drugega delovnega zvezka.

Oddelek za prakso

V delovnem zvezku sem pripravil vadbeni list za vadbo teh pojasnjenih načinov programa Excel. VBA kopiranje območja na drug list.

Zaključek

V tem članku sem razložil 8 različnih vrst enostavnih in hitrih načinov uporabe programa Excel VBA kopiranje območja na drug list. Ti različni načini vam bodo pomagali kopirati območje iz enega lista v drugega in tudi iz enega lista v drug delovni zvezek. Nenazadnje, če imate kakršne koli predloge, ideje in povratne informacije, vas prosimo, da jih komentirate spodaj.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.