Excel VBA Kopieer reeks na 'n ander vel (8 maklikste maniere)

  • Deel Dit
Hugh West

Wanneer jy nodig het, kan jy 'n reeks van een vel na 'n ander blad of werkboek kopieer. Daar is verskillende tipes kopieer en plak. Na aanleiding van hierdie artikel sal jy verskillende maniere leer ken om Excel VBA-kopiereeks na 'n ander blad te gebruik.

Om die verduideliking lewendig te maak, gaan ek 'n voorbeelddatastel gebruik wat die persoonlike inligting van spesifieke persone verteenwoordig . Die datastel het 4 kolomme. Hierdie kolomme is die Voornaam, Van, Volle Naam, en E-pos .

Laai werkboek af om te oefen

VBA kopieer reeks na 'n ander blad.xlsm

8 maniere om te Excel VBA Kopieer reeks na 'n ander blad

1. Kopieer 'n reeks na 'n ander blad met formaat

Wanneer jy 'n reeks van een vel na 'n ander vel wil kopieer met Formaat , kan jy dit eenvoudig doen deur die VBA .

Hier sal ek Kopieer 'n reeks van Datastel blad na WithFormat blad.

Kom ons begin die prosedure,

Maak eers die Ontwikkelaar oortjie oop >> kies Visual Basic

Jy kan ook die ALT + F11 sleutelbord gebruik om die VBA redakteur.

Volgende sal dit 'n nuwe venster oopmaak met die naam Microsoft Visual Basic for Applications.

Van daar af, maak Voeg in <3 oop>>> kies Module .

'n Module sal oopmaak en tik dan die volgende kode in die oopgemaakte >> kies Bekyk makro's

➤ 'n dialoogkassie sal opduik.

Nou, van die Makronaam kies die Copy_Range_BelowLastCell_AnotherSheets kies ook die werkboek binne Makro's in .

Uiteindelik, Hardloop die geselekteerde Makro .

Daarom sal dit Kopieer die geselekteerde reeks en sal dit Plak vanaf die laaste ry van 'n ander blad .

8. VBA Kopieer 'n reeks na die laaste ry van 'n ander werkboek

As jy wil Kopieer 'n reeks na die laaste ry van 'n ander werkboekvel, jy kan ook die VBA gebruik.

Hier sal ek Kopieer 'n reeks van Dataset2 vel na Blad1 van Boek2 maar vanaf die eerste nie-leë sel.

Om die prosedure te begin,

Maak eers die Ontwikkelaar oortjie oop >> kies Visual Basic

Jy kan ook die ALT + F11 sleutelbord gebruik om die VBA redigeerder oop te maak.

Volgende sal dit 'n nuwe venster van Microsoft Visual Basic for Applications oopmaak.

Van daar af, maak Voeg in <3 oop>>> kies Module .

'n Module sal oopmaak en tik dan die volgende kode in die oopgemaakte Module .

3956

Hier het ek die Subprosedure Copy_Range_BelowLastCell_To_Another_Workbook waar wsCopy en wsDestination is Werkblad tipe, lCopyLastRow en lDestLastRow is Lang tipe.

Eers, gebruik Stel om veranderlikes te stel vir die blad om te kopieer en die bestemmingsblad.

Volgende, het die Ry -metode gebruik om die laaste ry te vind gebaseer op data van kolom A in die kopieerreeks.

Weereens, die Ry -metode gebruik. om die eerste leë ry te vind gebaseer op data van kolom A in die bestemmingsreeks gebruik ook Offset om een ​​eienskap af te skuif.

Laastens, Gekopieer die data van Dataset2 vel van die Excel VBA Kopieer reeks na 'n ander blad.xlsm werkboek na die bestemming Blad1 van werkboek Boek2.xlsx .

Nou, Stoor die kode en gaan terug na die werkblad.

Maak dan die Bekyk oortjie >> van Makro's >> kies Bekyk makro's

➤ 'n dialoogkassie sal opduik.

Nou, vanaf die Makronaam kies die Copy_Range_BelowLastCell_To_Another_Workbook kies ook die werkboek binne Makro's in .

Uiteindelik, Hardloop die geselekteerde Makro .

Dit sal dus Kopieer die geselekteerde reeks vanaf die bestaande blad na die laaste ry van 'n ander werkboek.

Oefenafdeling

Ek het 'n oefenblad in die werkboek verskaf om hierdie verduidelikde maniere van Excel VBA -kopiereeks te oefen na 'n ander blad.

Gevolgtrekking

In hierdie artikel het ek 8 verskillende tipes maklike en vinnige maniere verduidelikExcel VBA kopieer reeks na 'n ander blad. Hierdie verskillende maniere sal jou help om 'n reeks van een vel na 'n ander en ook van een vel na 'n ander werkboek te kopieer. Laaste maar nie die minste nie, as jy enige soort voorstelle, idees en terugvoer het, voel asseblief vry om kommentaar hieronder te lewer.

Module.
2085

Hier het ek die Subprosedure Copy_Range_withFormat_ToAnother_Sheet verklaar

Ek het reeks B1:E10 geneem om van die bestaande blad na die bladnaam WithFormat te kopieer.

Hier het ek die Copy gebruik metode om die geselekteerde reeks te kopieer, Kopieer metode kopieer enige reeks met Formaat .

Laastens Stoor die kode en gaan terug na die werkblad .

Volgende, maak die View oortjie oop >> van Makro's >> kies Bekyk makro's

➤ 'n dialoogkassie sal opduik.

Kies nou vanaf die Makro-naam die Kopieer_reeks_met_formaat_na ander_blad kies ook die werkboek binne Makro's in .

Uiteindelik, Hardloop die geselekteerde Makro .

Daarom sal dit die geselekteerde reeks kopieer met Formaat na die nuwe blad wat ek gekies het ( WithFormat) .

2. VBA Kopieer 'n reeks na 'n ander blad sonder formaat

Dit is ook moontlik om 'n reeks na 'n ander blad te Kopieer sonder Formaat deur die VBA te gebruik.

Hier sal ek Kopieer 'n reeks van Datastel blad tot SonderFormaat blad.

Kom ons begin die prosedure,

Maak nou die Ontwikkelaar oop. oortjie >> kies Visual Basic ( gebruik die ALT + F11)

Volgende sal dit oopmaak Microsoft Visual Basic for Applications.

Maak dan Insert oop >> kies Module .

'n Module sal oopmaak en tik dan die volgende kode in die oopgemaakte Module .

2429

Hier het ek die Subprosedure Copy_Range_WithoutFormat_Toanother_Sheet verklaar

Ek het reeks B1:E10 om van die bestaande blad na die bladnaam SonderFormaat te kopieer.

Hier het ek die Kopieer metode gebruik om die geselekteerde reeks te kopieer, maar ook genoem Paste:=xlPasteValues ​​ in die PasteSpecial metode sodat dit slegs Waardes van die geselekteerde reeks sal plak, nie die formaat nie.

Ten slotte , Stoor die kode en gaan terug na die werkblad.

Maak dan die Bekyk oortjie >> van Makro's >> kies Bekyk makro's

➤ 'n dialoogkassie sal opduik.

Kies nou vanaf die Makro-naam die Kopieer_Reik_SonderFormaat_Naander_Veld en kies ook die werkboek binne Makro's in .

Ten slotte, Begin die geselekteerde Makro .

Dit sal dus Kopieer die geselekteerde reeks slegs met Waardes geen Formaat .

3. Kopieer 'n reeks na 'n ander blad met formaat en kolomwydte

Soms wil jy dalk Kopieer enige geselekteerde reeks soos dit is, daarvoor kan jy Kopieer 'n reeks met Formaat en Kolomwydte .

Hier, Ek sal Kopieer 'n reeks van Datastel blad na Formaat & Kolombreedte blad.

Om die prosedure te sien om die taak uit te voer met VBA ,

, maak eers die Ontwikkelaar oortjie >> kies Visual Basic

Jy kan ook die ALT + F11 sleutelbord gebruik om die VBA redigeerder oop te maak.

Volgende sal dit 'n nuwe venster van Microsoft Visual Basic for Applications oopmaak.

Daar, maak Voeg in oop. >> kies Module .

'n Module sal oopmaak en tik dan die volgende kode in die oopgemaakte Module .

5306

Hier het ek die Subprosedure Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth verklaar

Ek het reeks B1:E10 om van die bestaande blad na die bestemmingbladnaam te kopieer Formaat & Kolomwydte .

Hier het ek die Kopieer metode gebruik om die geselekteerde reeks te kopieer. Ek het ook die PasteSpecial -metode gebruik waar ek Plak:=xlPasteColumnWidths genoem het sodat dit die geselekteerde reeks plak saam met Format en Kolomwydte .

Laastens, Stoor die kode en gaan terug na die werkblad.

Maak dan die Bekyk oortjie >> van Makro's >> kies Bekyk makro's

➤ 'n dialoogkassie sal opduik.

Kies nou vanaf die Makro-naam die Kopieer_Reik_na_Another_Sheet_with_FormatAndColumnWidth en kies ook die werkboek binne Makro's in .

Ten slotte, Begin die geselekteerde Makro .

Gevolglik sal dit Kopieer die geselekteerde reeks met Formaat en Kolomwydte .

4. VBA Kopieer 'n reeks na 'n ander blad met formule

In die geval dat jy enige formule in jou datastel het wat jy wil kopieer. Geen probleem! Jy kan die reeks wat Formule bevat na 'n ander blad kopieer en die formule ongeskonde hou.

Hier sal ek Kopieer 'n reeks vanaf Datastel blad na WithFormula vel

Kom ons begin die prosedure,

Om mee te begin, maak die Ontwikkelaar oortjie oop >> kies Visual Basic ( jy kan ook die ALT + F11 sleutelbord gebruik)

Volgende, dit sal Microsoft Visual Basic for Applications oopmaak.

Van daar af, maak Voeg in >> kies Module .

'n Module sal oopmaak en tik dan die volgende kode in die oopgemaakte Module .

7810

Hier het ek die Subprosedure Copy_Range_withFormula_ToAnother_Sheet verklaar

Ek het reeks B1:E10 om van die bestaande blad na die bestemmingbladnaam MetFormule te kopieer.

Hier het ek die Kopieer metode gebruik om die geselekteerde reeks te kopieer. Ek het ook die PasteSpecial metode gebruik waar ek Paste:=xlPasteFormulas genoem het sodat dit die Formules saam met die geselekteerde reeks dra.

Laastens , Stoor die kode en gaan terug na die werkblad.

Maak dan die View oop. tab >> van Makro's >> kies Bekyk makro's

➤ 'n dialoogkassie sal opduik.

Kies nou vanaf die Makro-naam die Kopieer_Reik_met Formule_Na Nog 'n Blad kies ook die werkboek binne Makro's in .

Uiteindelik, Hardloop die geselekteerde Makro .

Dit sal dus Al die geselekteerde selreekse kopieer met Formules .

Soortgelyke lesings:

  • Hoe om VBA Range Offset (11 Maniere) te gebruik
  • VBA vir elke sel in reeks in Excel (3 metodes)
  • Hoe om die reeksobjek van VBA in Excel te gebruik (5 eienskappe)

5. Kopieer 'n reeks met Outopas na 'n ander blad

Terwyl jy 'n reeks na 'n ander blad kopieer, kan jy ook die Outopas -metode gebruik in die VBA na Outopas die gekopieerde reeks in die nuwe blad.

Hier sal ek Kopieer 'n reeks van Datastel vel na Outopas vel

Kom ons begin die prosedure,

Maak eers die Ontwikkelaar oortjie >> kies Visual Basic

Jy kan ook die ALT + F11 sleutelbord gebruik om die VBA redigeerder oop te maak.

Volgende sal dit 'n venster van Microsoft Visual Basic for Applications oopmaak.

Maak dan Voeg in > oop. ;> kies Module .

'n Module sal oopmaak en tik dan die volgende kode in die oopgemaakte Module .

1736

Hier het ek die Subprosedure Copy_Range_withFormat_AutoFit verklaar

Eerstens het ek die werkblad Datastel gekies. Daarna het die reeks B1:E10 geneem om van die bestaande blad na die bestemmingsblad genaamd AutoFit te kopieer.

Hier het ek die Kopieer gebruik. metode om die geselekteerde reeks te kopieer en die AutoFit -metode sal die gegewe kolomme outopas B:E .

Laastens, Stoor die kode en gaan terug na die werkblad.

Volgende, maak die View oortjie oop >> van Makro's >> kies Bekyk makro's

➤ 'n dialoogkassie sal opduik.

Kies nou vanaf die Makro-naam die Kopieer_Reik_metFormaat_Autopas kies ook die werkboek binne Makro's in .

Uiteindelik, Hardloop die geselekteerde Makro .

Daarom sal dit die geselekteerde reeks na 'n nuwe blad kopieer en ook Outopas die kolomme.

6. VBA Kopieer 'n reeks na 'n ander werkboek

As jy wil, kan jy ook 'n reeks Kopieer van een vel na 'n ander blad van 'n ander werkboek.

Hier sal ek Kopieer 'n reeks van Datastel vel na Blad1 van Boek1 werkboek.

Kom ons begin die prosedure,

Maak eers die Ontwikkelaar oortjie oop >> kies Visual Basic (j jy kan ook die ALT + F11 sleutelbord gebruik)

Dan, dit sal Microsoft Visual oopmaakBasies vir toepassings.

Volgende, maak oop Voeg in >> kies Module .

'n Module sal oopmaak en tik dan die volgende kode in die oopgemaakte Module .

9578

Hier het ek die Subprosedure Copy_Range_WithFormat_Toanother_WorkBook verklaar

Ek het die reeks geneem B3:E10 van bladnaam Datastel om van die bestaande blad na die nuwe werkboeknaam Boek1 en bladnaam Blad1 te kopieer.

Hier het ek die Kopieer -metode gebruik om die geselekteerde reeks na die nuwe werkboek te kopieer.

Laastens, Stoor die kode en gaan terug na die werkblad.

Volgende, maak die View oortjie oop >> van Makro's >> kies Bekyk makro's

➤ 'n dialoogkassie sal opduik.

Nou, van die Makro-naam kies die Copy_Range_WithFormat_Toanother_WorkBook kies ook die werkboek binne Makro's in .

Uiteindelik, Hardloop die geselekteerde Makro .

Nou sal dit die geselekteerde reeks van die Datastel blad na 'n ander werkboek kopieer.

7. Kopieer 'n reeks na die laaste ry van 'n ander blad

In elk geval, as jy 'n reeks na 'n ander blad wil kopieer vanaf 'n spesifieke sel of die laaste sel kan jy dit doen deur die VBA te gebruik.

Voordat ek die prosedure aangaan, wil ek jou vertel dat ek twee nuwe velle geneem het wat bestaan ​​uit Volle naam, e-pos, en Adres .

Kom ons kyk eers na die Dataset2 blad.

Hier is die Below Last Cell blad.

Hier sal ek kopieer 'n reeks van Datastel2 blad na Below Last Cell maar vanaf die eerste nie-leë sel.

Om mee te begin, maak die Ontwikkelaar oortjie >> kies Visual Basic

Volgende sal dit oopmaak Microsoft Visual Basic for Applications.

Maak dan oop Voeg in >> kies Module .

'n Module sal oopmaak en tik dan die volgende kode in die oopgemaakte Module .

4541

Hier het ek die Subprosedure Copy_Range_BelowLastCell_AnotherSheets

Eers het ek die blad gekies Dataset2 en dan die Ry metode gebruik om die Laaste Ry te tel en die getelde ry in lr gehou.

Toe geneem die reeks A2:C & lr om van die bestaande blad na die bestemmingsbladnaam te kopieer Below Last Cell .

Weereens, gebruik die Ry metode om die Laaste te tel Ry van 'n ander vel genaamd Below Last Cell en het die getelde ry in lrAnotherSheet gehou.

Hier het ek die Kopieer -metode gebruik. om die geselekteerde reeks te kopieer en die AutoFit -metode sal die gegewe kolomme outopas A:C .

Laastens, Stoor die kode en gaan terug na die werkblad.

Maak dan die View oortjie oop >> van Makro's

Hugh West is 'n hoogs ervare Excel-afrigter en ontleder met meer as 10 jaar ondervinding in die bedryf. Hy het 'n Baccalaureusgraad in Rekeningkunde en Finansies en 'n Meestersgraad in Besigheidsadministrasie. Hugh het 'n passie vir onderrig en het 'n unieke onderrigbenadering ontwikkel wat maklik is om te volg en te verstaan. Sy kundige kennis van Excel het duisende studente en professionele persone wêreldwyd gehelp om hul vaardighede te verbeter en uit te blink in hul loopbane. Deur sy blog deel Hugh sy kennis met die wêreld, en bied gratis Excel-tutoriale en aanlyn opleiding aan om individue en besighede te help om hul volle potensiaal te bereik.