Makró az egyik munkalapról a másikra történő másoláshoz és beillesztéshez (15 módszer)

  • Ossza Meg Ezt
Hugh West

Tartalomjegyzék

Amikor több Excel-táblával dolgozunk, néha adatokat kell másolnunk az egyik táblázattól a másikig. Az alábbi módszerek végrehajtása VBA a leghatékonyabb, leggyorsabb és legbiztonságosabb módszer bármilyen művelet futtatására az Excelben. Ebben a cikkben megmutatjuk, hogyan lehet adatok másolása és beillesztése egyik munkalapról a másikra Excelben a VBA makró .

Munkafüzet letöltése

Az ingyenes gyakorló Excel munkafüzetet innen töltheti le.

Másolás és beillesztés egyik munkalapról egy másikra.xlsm

15 módszer a VBA-val az adatok másolásához és beillesztéséhez az Excel egyik munkalapjáról egy másikra

Ebben a fejezetben 15 módszert ismerhet meg arra vonatkozóan, hogy hogyan lehet adatok másolása egy munkalapról és beillesztése egy másikba a címen VBA Excelben.

Fentebb látható az az adatkészlet, amelyet ez a cikk példaként fog figyelembe venni.

1. Beágyazott VBA makró adatsorok egyik munkalapról a másikra történő másolásához és beillesztéséhez

A következő lépések adatsorok másolása és beillesztése egyik munkalapról a másikra VBA segítségével az alábbiakban ismertetjük.

Lépések:

  • Az elején nyomja meg a Alt + F11 a billentyűzeten, vagy lépjen a Fejlesztő -> Visual Basic kinyitni Visual Basic szerkesztő .

  • A felugró kódablakban a menüsorban kattintson a Beszúrás -> Modul .

  • Most, másolja a következő kódot és paste a kódablak .
 Sub CopyPasteToAnotherSheet() Worksheets("Dataset").Range("B2:F9").Copy Worksheets("CopyPaste").Range("B2") End Sub 

A kódja most már futtatásra kész.

Ez a kódrészlet másolja a tartományt B2-től F9-ig a nevű lap Adatkészlet és beilleszteni azokat a B2-be Tartomány a CopyPaste névre szóló lap .

  • Ezután nyomja meg a F5 a billentyűzeten, vagy válassza a menüsorból a Futtatás -> Sub/UserForm futtatása . Egyszerűen csak kattints a kis Play ikon az almenüsorban a makró futtatásához.

Nézze meg a következő képet.

Végül az összes adatot a Adatkészlet lapot most bemásoljuk a CopyPaste lapot az Excel munkafüzetünkben.

Bővebben: Excel VBA: Tartomány másolása egy másik munkafüzetbe

2. VBA makró az adatok másolásához és beillesztéséhez az Excel egyik aktív munkalapjáról egy másikra

Az előző szakaszban nem igényeltük a munkalap aktiválását. Ebben a szakaszban azonban megtanuljuk, hogyan kell adatok másolása és beillesztése egy aktív munkalapba .

Lépések:

  • Ugyanúgy, mint korábban, nyissa meg Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban, másolja a következő kódot és paste azt.
 Sub CopyPasteToAnotherActiveSheet() 'Adatok másolása a forráslapról Sheets("Dataset").Range("B2:F9").Copy 'Másolás 'Céllap aktiválása Sheets("Paste").Activate 'Céltartomány kiválasztása Range("B2").Select 'Beillesztés a célba ActiveSheet.Paste Application.CutCopyMode = False End Sub 

A kódja most már futtatásra kész.

  • Következő, Fuss a fenti kódot, és nézze meg az eredményt a következő képen.

Ezúttal az összes adatot a Adatkészlet lapot most bemásoljuk a Paste lapot, amelyet az adatok másolása előtt aktiváltunk.

Bővebben: Excel képlet a szöveg másolásához egy cellából egy másik lapra

3. Egyetlen cella másolása és beillesztése egy munkalapról egy másikra az Excelben VBA makróval

A fenti szakaszokban megtanulta, hogyan másolhat és illeszthet be egy adatsort az egyik munkalapról egy másikra. Most azt fogja látni, hogyan lehet másolás és beillesztés, ha egyetlen adat az Excel táblázatban.

Nézze meg a következő képet, a Tartomány lap csak egy értékből áll.

Meglátjuk, hogyan tudjuk másolja és illessze be ezt a cellát egy másik lapra Excelben a VBA .

Lépések:

  • Mint fentebb látható, nyitott Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban, másolja a következő kódot és paste
 Sub CopyPasteSingleRangeToAnotherSheet() Worksheets("Range").Range("B4").Copy Worksheets("CopyRange").Range("B2") End Sub 

A kódja most már futtatásra kész.

  • Következő, Fuss ezt a kódrészletet, és figyeljük meg a következő képet.

Ez az egyetlen adat " Másolja ezt a cellát " in B4-es cella a Adatkészlet lapot most bemásoljuk a CopyRange lap B2 cella .

Bővebben: Excel VBA csak az értékek másolásához a célállomásra (makró, UDF és UserForm)

4. Másolt adatok beillesztése egy munkalapról egy másikra a PasteSpecial módszerrel az Excel makróban

Megteheti az adatok másolása egy munkalapról és beillesztése az adatokba különböző módokon az Excel PasteSpecial módszerrel VBA Az ehhez szükséges lépéseket az alábbiakban ismertetjük.

Lépések:

  • Először nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub CopyPasteSpecial() Worksheets("Dataset").Range("B2:F9").Copy Worksheets("PasteSpecial").Range("B2").PasteSpecial End Sub 

A kódod most már futtatásra kész.

  • Következő, Fuss ez a kódrészlet.

Nézze meg a fenti képet. Az adatok a Adatkészlet lap most átkerül a PasteSpecial lapot az Excelben.

Bővebben: VBA Paste Special az Excel értékek és formátumok másolásához (9 példa)

5. Makró az utolsó cella alatti adatok másolásához és beillesztéséhez az Excel egyik munkalapjáról egy másikra

Már van néhány adatunk a Adatkészlet lapot (a bevezető részben látható). Most nézzük meg a következő részt ebben a részben. Most már van néhány új adatunk egy másik lapon, amelynek neve Utolsó cella .

Amit mi itt tenni akarunk, az az, hogy másolatspecifikus adatok (B5-F9-es cellák) a Adatkészlet lap és paste a az utolsó cella alatt ennek Utolsó cella lap.

Lépések:

  • Először is, nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub CopyPasteBelowTheLastCell() 'Változók beállítása Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim iSourceLastRow As Long Dim iTargetLastRow As Long 'Változók beállítása a forrás- és céllapokhoz Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Last Cell") 'A forráslap utolsó használt sorának keresése a B oszlop adatai alapján iSourceLastRow = wsSource.Cells(wsSource.Rows.Count,"B").End(xlUp).Row 'A B oszlopban lévő adatok alapján keresse meg az első üres sort a céllapon 'Az Offset tulajdonság a másolt adatok 1 sorral lejjebb helyezésére szolgál iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Offset(1).Row 'Másolja az adatokat a forrásból és illessze be a céllapra wsSource.Range("B5:F9" & iSourceLastRow).Copy wsTarget.Range("B" & iTargetLastRow) End Sub 

A kódod most már futtatásra kész.

  • Következő, Fuss Nézze meg az alábbi képet.

Itt csak a kiválasztott adatok a Adatkészlet lap most másolva az utolsó cella alá a Utolsó cella lap Excelben.

Bővebben: Képlet az Excel-értékek másolásához és beillesztéséhez (5 példa)

6. VBA makró először a munkalap törléséhez, majd másolás és beillesztés egy másik munkalapba

Mi van akkor, ha a meglévő lapon rossz adatok vannak, és az eredeti adatokat szeretné kinyerni.

Nézze meg a következő képet. törölje az adatokat a Tiszta tartomány lapot, és itt tárolja az adatokat a Adatkészlet lap VBA-val kód.

Lépések:

  • Először is, nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub ClearAndCopyPasteData() 'Változók beállítása Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim iSourceLastRow As Long Dim iTargetLastRow As Long 'Változók beállítása a forrás- és céllapokhoz Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Clear Range") 'A forráslap utolsó használt sorának keresése a B oszlop adatai alapján iSourceLastRow = wsSource.Cells(wsSource.Rows.Count,"B").End(xlUp).Row 'A B oszlopban lévő adatok alapján keresse meg az első üres sort a céllapon 'Az Offset tulajdonság a másolt adatok 1 sorral lejjebb helyezésére szolgál iTargetLastRow = wsTarget.Cells(wsTarget.Rows.Count, "B").End(xlUp).Offset(1).Row 'Törölje az adatokat a céltartományból wsTarget.Range("B5:F9" & iTargetLastRow).ClearContents 'Másolja az adatokat a forrásból és illessze be a céllapba.wsSource.Range("B5:F9" & iSourceLastRow).Copy wsTarget.Range("B5") End Sub 

A kódod most már futtatásra kész.

  • Következő, Fuss Nézze meg a következő képet.

A korábbi adatok a Tiszta tartomány lap helyébe most az adatok lépnek a Adatkészlet lap.

Bővebben: Makró az adatok egyik munkafüzetből egy másikba történő másolásához kritériumok alapján

7. Makró az adatok egyik munkalapról egy másikra történő másolásához és beillesztéséhez a Range.Copy funkcióval

Most megtudjuk a VBA kódot, hogy hogyan adatok másolása és beillesztése egyik munkalapról a másikra a Range.Copy funkció az Excelben.

Lépések:

  • Először is, nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub CopyWithRangeCopyFunction() 'Változók beállítása Dim wsSource As Worksheet Dim wsTarget As Worksheet 'Változók beállítása a forrás- és céllapokhoz Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Copy Range") 'Adatok másolása a forrásból és beillesztése a célba Call wsSource.Range("B2:F9").Copy(wsTarget.Range("B2")) End Sub 

A kódja most már futtatásra kész.

  • Következő, Fuss ezt a kódrészletet, és nézze meg a következő képet.

Sikeresen lemásoltuk az adatokat a Adatkészlet lap a Tartomány másolása lapot a Range.Copy funkció.

Bővebben: Excel képlet a cella értékének egy másik cellába történő másolásához

Hasonló olvasmányok

  • Excel VBA a sorok másolásához egy másik munkalapra a kritériumok alapján
  • A VBA használata az értékek beillesztéséhez csak formázás nélkül az Excelben
  • Hogyan másolja és illessze be a látható cellákat csak az Excelben (3 egyszerű módja)
  • A másolás és beillesztés nem működik az Excelben (9 ok & Megoldások)
  • Több sor másolása az Excelben makró segítségével (4 példa)

8. Makro kód végrehajtása az adatok egyik munkalapról egy másikra történő duplikálására a USEDRANGE tulajdonsággal

Ezúttal megtanuljuk a VBA kódot, hogy hogyan adatok másolása és beillesztése egyik munkalapról a másikra a UsedRange attribútum az Excelben.

Lépések:

  • Először nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub CopyWithUsedRange() 'Változók beállítása Dim wsSource As Worksheet Dim wsTarget As Worksheet 'Változók beállítása a forrás- és céllapokhoz Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("UsedRange") 'Adatok másolása a forrásból és beillesztése a célba Call wsSource.UsedRange.Copy(wsTarget.Cells(2, 2)) End Sub 

A kódja most már futtatásra kész.

  • Következő, Fuss ez a kódrészlet.

Amint a fenti képen láthatjuk, sikeresen másoltuk és illesztettük be az adatokat a Adatkészlet lap a UsedRange lapot a USEDRANGE ingatlan.

Bővebben: Hogyan másolhatja ugyanazt az értéket több cellába az Excelben (4 módszer)

9. VBA makró a kiválasztott adatok másolásához és beillesztéséhez az Excel egyik lapjáról egy másikra

Megteheti csak néhány kiválasztott adat másolása és beillesztése egyik munkalapról a másikra a címen VBA Az ehhez szükséges lépéseket az alábbiakban mutatjuk be.

Lépések:

  • Először nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub CopyPasteSelectedData() 'Változók beállítása Dim wsSource As Worksheet Dim wsTarget As Worksheet 'Változók beállítása a forrás- és céllapokhoz Set wsSource = Worksheets("Dataset") Set wsTarget = Worksheets("Paste Selected") 'Adatok másolása a forrásból wsSource.Range("B4:F7").Copy 'Adatok beillesztése a célba Call wsTarget.Range("B2").PasteSpecial(Paste:=xlPasteValues) End Sub 

A kódja most már futtatásra kész.

Ez a kód csak a B4 és F7 közötti tartományt másolja. a Adatkészlet lap és beilleszteni azokat a B2-be Tartomány a PasteSelected névre szóló lap .

  • Következő, Fuss ez a kód.

Végül csak a kiválasztott adatok a Adatkészlet lapot sikeresen bemásolták és beillesztették a Kijelölt beillesztése lap az Excel munkafüzetben.

Bővebben: A VBA PasteSpecial alkalmazásának és a forrásformázás megtartásának módja az Excelben

10. Makro kód az adatok duplikálására az egyik munkalapról a másikra az első üres sorban

Itt megnézzük, hogyan lehet adatok másolása a Adatkészlet lap és paste a egy másik munkalap első üres cellája Excelben a VBA .

Lépések:

  • Először nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub FirstBlankCell() Range("B2:F9", Range("B" & Rows.Count).End(xlUp)).Copy Sheet13.Range("A65536").End(xlUp) End Sub 

A kódja most már futtatásra kész.

  • Következő, Fuss ez a kódrészlet.

Lásd a fenti képen. Sheet13 teljesen üres volt. Ennek eredményeként a végrehajtott kód beillesztette a másolt adatokat a Adatkészlet lap a nagyon első cella a Sheet13 lapot az Excelben.

Bővebben: Értékek másolása és beillesztése a következő üres sorba az Excel VBA-val (3 példa)

11. A VBA beágyazása az automatikusan szűrt adatok másolásához és beillesztéséhez az egyik Excel-táblázatból egy másikba

Tudunk a forrásadatkészlet szűrése, majd csak a szűrt adatok másolása és beillesztése egy másik munkalapba. Kövesse ezt a cikket, hogy megtanulja, hogyan kell ezt lépésről lépésre elvégezni az Excelben. VBA .

Lépések:

  • Először nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Option Explicit Sub AutoFilter() Range("B4:B101").AutoFilter 1, "Dean" Range("B4:F9").Copy Sheet17.Range("B" & Rows.Count).End(xlUp)(2) Range("B4").AutoFilter End Sub 

A kódja most már futtatásra kész.

  • Következő, Fuss Csak az a sor, amelyikben a " Dékán ", szűrésre és másolásra kerül egy másik lapra.

Vegye észre a fenti képen, hogy csak a szűrt adatok " Dékán " a B oszlop most bemásoljuk és beillesztjük a Sheet15 lap.

Bővebben: Hogyan lehet másolni és beilleszteni az Excelben a VBA használatával (7 módszer)

Hasonló olvasmányok

  • Hogyan lehet automatikusan szűrni és másolni a látható sorokat az Excel VBA-val?
  • Egyedi értékek másolása egy másik munkalapra az Excelben (5 módszer)
  • Összevont és szűrt cellák másolása az Excelben (4 módszer)
  • Futási hiba 1004: A Range osztály PasteSpecial módszere nem sikerült
  • Hogyan illesszük be a linket és a transzponálást az Excelben (8 gyors módja)

12. Sor beillesztése a tartomány alján, miközben a fenti tartományból másolt képletet megtartja

Amikor azt szeretné, hogy másoljon egy értéket és tartsa benne a képletet miközben beillesztjük egy másik sorba, majd a VBA kóddal könnyedén elvégezheti a feladatot.

Lépések:

  • Először nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub PasteRowWithFormulaFromAbove() Rows(Range("B" & Rows.Count).End(xlUp).Row).Copy Rows(Range("B" & Rows.Count).End(xlUp).Row + 1).Insert xlDown End Sub 

A kódja most már futtatásra kész.

  • Következő, Fuss ezt a kódot, és nézze meg az alábbi képet.

A az utolsó sort pontosan úgy másoljuk, ahogy van a mellette lévő sorban.

Bővebben: Hogyan másolja az adatokat az Excel egyik cellájából egy másikba automatikusan

13. VBA adatok másolása egy lapról egy másik lapra egy másik megnyitott, de nem mentett munkafüzetben lévő másik lapra

Figyeljük meg a példamunkafüzetünk nevét, Forrás munkafüzet . Az adatokat átmásoljuk a Adatkészlet lapot ebből a munkafüzetből, és illessze be egy másik munkalapba egy másik munkafüzetben, amelynek a neve Úti cél munkafüzet vagyis nyitva, de még nem mentve .

Lépések:

  • Először nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub CopyOneFromAnotherNotSaved() Workbooks("Source Workbook").Worksheets("Dataset").Range("B2:F9").Copy Workbooks("Destination Workbook").Worksheets("Sheet1").Range("B2") End Sub 

A kódja most már futtatásra kész.

  • Következő, Fuss ez a kód.

Az adatok a Adatkészlet lap a Forrás munkafüzet most már másolva van a Sheet1 lap a Úti cél munkafüzet .

Bővebben: Excel VBA: Cellák értékének másolása és beillesztése egy másik cellába

14. Makró az adatok reprodukálása egy lapról egy másik lapra egy másik megnyitott és elmentett munkafüzet másik lapján

Ezúttal az adatok másolása a Adatkészlet lapot a Forrás munkafüzet és paste a Sheet2 munkalap a Úti cél munkafüzet De most, a a munkafüzet meg van nyitva és el van mentve .

Lépések:

  • Először nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub CopyOneFromAnotherSaved() Workbooks("Source Workbook.xlsm").Worksheets("Dataset").Range("B2:F9").Copy _ Workbooks("Destination Workbook.xlsx").Worksheets("Sheet2").Range("B2") End Sub 

A kódja most már futtatásra kész.

  • Következő, Fuss ez a kód.

Az adatok a Adatkészlet lap a Forrás munkafüzet most már másolva van a Sheet2 lap a Úti cél munkafüzet . És nézd meg a nevét, ez a munkafüzetet mentették ezúttal.

Bővebben: Hogyan lehet másolni és beilleszteni az Excelben a formátum megváltoztatása nélkül?

15. A VBA alkalmazása az adatok másolásához és beillesztéséhez egy munkalapról egy másik munkalapra egy másik lezárt munkafüzetben.

Az előző két szakaszban megtanultuk, hogyan másolhatunk és illeszthetünk be adatokat az egyik munkalapról egy másik munkalapra egy másik megnyitott munkafüzetben. Ebben a szakaszban megtanuljuk a kódot, hogy hogyan lehet adatok másolása és beillesztése a munkafüzet bezárásakor .

Lépések:

  • Először nyissa ki Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • Másodszor, másolja a következő kódot és paste a kódablakba.
 Sub CopyOneFromAnotherClosed() 'A rendszerben elmentett munkafüzet megnyitásához 'változtassa meg az alábbi elérési utat a fájl rendszerbeli helyének megfelelően Workbooks.Open "D:\ExcelWIKI\Excel Folder\Destination Workbook.xlsx" 'Az adatokat a Source Workbook nevű munkafüzetből másolja és 'beilleszti a Destination Workbook nevű cél munkafüzetbe Workbooks("SourceWorkbook").Worksheets("Dataset").Range("B2:F9").Copy Workbooks("Destination Workbook").Worksheets("Sheet3").Range("B2") 'Mentés után bezárja a célmunkafüzetet Workbooks("Destination Workbook").Close SaveChanges:=True End Sub 

A kódja most már futtatásra kész.

  • Következő, Fuss ez a kód.

Bár ezúttal a munkafüzetet bezártuk, de a kód végrehajtása után az adatokat a Adatkészlet lap a Forrás munkafüzet most már másolva van a Sheet3 lap a Úti cél munkafüzet .

Bővebben: Excel VBA az adatok másolásához egy másik munkafüzetből megnyitás nélkül

Emlékezetes dolgok

  • Az 1-14. módszerhez a munkafüzeteket meg kell nyitni. A módszerekben bemutatott makrokódok végrehajtásakor ne felejtse el nyitva tartani a forrás- és a célmunkafüzetet.
  • Míg a munkafüzetek mentése, akkor írja a fájl nevét a fájltípussal együtt. a kódon belül. Amikor a a munkafüzeteket nem menti el, akkor csak a fájl nevét írja ki. a fájl típusa nélkül. Például, ha az Ön a munkafüzet mentése , majd írja " Úti cél. xlsx ", de ha a a munkafüzet nem mentésre kerül , majd írja " Úti cél " a kódon belül.

Következtetés

Ez a cikk megmutatta, hogyan kell adatok másolása és beillesztése egyik munkalapról a másikra Excelben a VBA . remélem, hogy ez a cikk nagyon hasznos volt az Ön számára. Nyugodtan kérdezzen, ha bármilyen kérdése van a témával kapcsolatban.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.