Tartalomjegyzék
Amikor csak szüksége van rá, másolhat egy tartományt az egyik lapról egy másik lapra vagy munkafüzetre. A másolás és beillesztés különböző típusai vannak. Ezt a cikket követően megismerheti az Excel VBA tartomány másolásának különböző módjait egy másik lapra.
A magyarázat élénkítéséhez egy mintaadatkészletet fogok használni, amely bizonyos személyek személyes adatait tartalmazza. Az adatkészletnek 4 oszlopa van. Ezek az oszlopok a következők. Keresztnév, vezetéknév, teljes név, és E-mail .
Munkafüzet letöltése a gyakorláshoz
VBA Tartomány másolása egy másik Sheet.xlsm-re8 módja az Excel VBA tartomány másolásának egy másik lapra történő másolásához
1. Tartomány másolása egy másik lapra formátummal
Amikor csak akarsz Másolás az egyik laptól a másikig terjedő tartományt Formátum egyszerűen megteheti a VBA .
Tessék, én... Másolás a következő tartományban Adatkészlet lapot a WithFormat lap.
Kezdjük el az eljárást,
Először nyissa meg a Fejlesztő tab>> select Visual Basic
Használhatja a ALT + F11 billentyűzetet a VBA szerkesztő.
Ezután megnyílik egy új ablak, melynek neve Microsoft Visual Basic for Applications.
Innen nyissa meg a Beillesztés >> select Modul .
A Modul megnyílik, majd írja be a következő kódot a megnyitott Modul .
Sub Copy_Range_withFormat_ToAnother_Sheet() Range("B1:E10").Copy Worksheets("WithFormat").Range("B1:E10") End Sub
Itt kijelentettem, hogy a Aleljárás Copy_Range_withFormat_ToAnother_Sheet (Másolás_tartomány_formátummal_más lapra)
Én már vettem tartományban B1:E10 a meglévő lapról a lap nevére történő másoláshoz WithFormat .
Itt a Másolás módszerrel másolja a kijelölt tartományt, Másolás metódus bármely tartományt másol a Formátum .
Végre, Mentés a kódot, és térjen vissza a munkalapra.
Ezután nyissa meg a A megtekintése tab>> from Makrók >> select Makrók megtekintése
➤ A párbeszédpanel fog felbukkanni.
Most, a Makró neve válassza ki a Copy_Range_withFormat_ToAnother_Sheet (Másolás_tartomány_formátummal_más lapra) válassza ki a munkafüzetet is a Makrók a .
Végre, Fuss a kiválasztott Makró .
Ennélfogva Másolás a kiválasztott tartományt a Formátum a kiválasztott új lapra ( WithFormat) .
2. VBA Tartomány másolása egy másik lapra formátum nélkül
Lehetőség van arra is, hogy Másolás egy tartományt egy másik lapra anélkül, hogy Formátum a VBA .
Tessék, én... Másolás a következő tartományban Adatkészlet lapot a WithoutFormat lap.
Kezdjük el az eljárást,
Most nyissa meg a Fejlesztő tab>> select Visual Basic ( használja a ALT + F11)
Ezután megnyílik Microsoft Visual Basic for Applications.
Ezután nyissa meg Beillesztés >> select Modul .
A Modul megnyílik, majd írja be a következő kódot a megnyitott 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
Itt kijelentettem, hogy a Aleljárás Copy_Range_WithoutFormat_Toanother_Sheet (Másolás_Tartomány_Formátum nélkül_Más lapra)
Én már vettem tartományban B1:E10 a meglévő lapról a lap nevére történő másoláshoz WithoutFormat .
Itt a Másolás módszer a kiválasztott tartomány másolására, de megemlítette a Beillesztés:=xlPasteValues a PasteSpecial módszerrel, hogy csak a Értékek a kiválasztott tartomány, nem pedig a formátum.
Végre, Mentés a kódot, és térjen vissza a munkalapra.
Ezután nyissa meg a A megtekintése tab>> from Makrók >> select Makrók megtekintése
➤ A párbeszédpanel fog felbukkanni.
Most, a Makró neve válassza ki a Copy_Range_WithoutFormat_Toanother_Sheet (Másolás_Tartomány_Formátum nélkül_Más lapra) és válassza ki a munkafüzetet is a Makrók a .
Végre, Fuss a kiválasztott Makró .
Így tehát Másolás a kiválasztott tartományt csak a Értékek nincs Formátum .
3. Tartomány másolása egy másik lapra formátummal és oszlopszélességgel
Néha érdemes lehet Másolás bármelyik kiválasztott tartományt úgy, ahogy van, ehhez lehet Másolás egy olyan tartományban, ahol Formátum és Oszlopszélesség .
Tessék, én... Másolás a következő tartományban Adatkészlet lapot a Formátum &; oszlopszélesség lap.
A feladat elvégzéséhez szükséges eljárás megtekintése a VBA ,
Először nyissa meg a Fejlesztő tab>> select Visual Basic
Használhatja a ALT + F11 billentyűzetet a VBA szerkesztő.
Ezután megnyílik egy új ablak a Microsoft Visual Basic for Applications.
Ott, nyissa ki Beillesztés >> select Modul .
A Modul megnyílik, majd írja be a következő kódot a megnyitott 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
Itt kijelentettem, hogy a Aleljárás Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth (Másolás_tartomány_egy_másik_lapra_formátummal_és_oszlopszélességgel)
Én már vettem tartományban B1:E10 a meglévő lapról a céllap nevére történő másoláshoz Formátum &; oszlopszélesség .
Itt a Másolás módszerrel a kijelölt tartomány másolására. Én is használtam a PasteSpecial módszer, ahol említettem Beillesztés:=xlPasteColumnWidths hogy a kiválasztott tartományt beilleszthesse a Formátum és Oszlopszélesség .
Végre, Mentés a kódot, és térjen vissza a munkalapra.
Ezután nyissa meg a A megtekintése tab>> from Makrók >> select Makrók megtekintése
➤ A párbeszédpanel fog felbukkanni.
Most, a Makró neve válassza ki a Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth (Másolás_tartomány_egy_másik_lapra_formátummal_és_oszlopszélességgel) és válassza ki a munkafüzetet is a Makrók a .
Végre, Fuss a kiválasztott Makró .
Ennek eredményeképpen Másolás a kiválasztott tartományt a Formátum és Oszlopszélesség .
4. VBA Tartomány másolása egy másik lapra képlettel
Ha van olyan képlet az adatkészletben, amelyet másolni szeretne, ne aggódjon! Másolhatja a tartományt, amely tartalmazza a Formula egy másik lapra, a képletet érintetlenül hagyva.
Tessék, én... Másolás a következő tartományban Adatkészlet lapot a WithFormula lap
Kezdjük el az eljárást,
Kezdetnek nyissa meg a Fejlesztő tab>> select Visual Basic ( akkor is használhatja a ALT + F11 billentyűzet)
Ezután megnyílik Microsoft Visual Basic for Applications.
Innen nyissa meg a Beillesztés >> select Modul .
A Modul megnyílik, majd írja be a következő kódot a megnyitott 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
Itt kijelentettem, hogy a Aleljárás Copy_Range_withFormula_ToAnother_Sheet (Másolás_tartomány_képlettel_más lapra)
Én már vettem tartományban B1:E10 a meglévő lapról a céllap nevére történő másoláshoz WithFormula .
Itt a Másolás módszerrel a kijelölt tartomány másolására. Én is használtam a PasteSpecial módszer, ahol említettem Beillesztés:=xlPasteFormulák hogy az hordozza a Képletek a kiválasztott tartomány mellett.
Végre, Mentés a kódot, és térjen vissza a munkalapra.
Ezután nyissa meg a A megtekintése tab>> from Makrók >> select Makrók megtekintése
➤ A párbeszédpanel fog felbukkanni.
Most, a Makró neve válassza ki a Copy_Range_withFormula_ToAnother_Sheet (Másolás_tartomány_képlettel_más lapra) válassza ki a munkafüzetet is a Makrók a .
Végre, Fuss a kiválasztott Makró .
Így tehát Másolás az összes kijelölt cellatartományt Képletek .
Hasonló olvasmányok:
- A VBA tartományeltolás használata (11 mód)
- VBA az Excel tartomány egyes celláihoz (3 módszer)
- A VBA tartományobjektum használata az Excelben (5 tulajdonság)
5. Tartomány másolása AutoFit funkcióval egy másik lapra
Míg a Másolás egy tartományt egy másik lapra, akkor is használhatja a AutoFit módszer a VBA a címre. AutoFit a másolt tartományt az új lapon.
Tessék, én... Másolás a következő tartományban Adatkészlet lapot a AutoFit lap
Kezdjük el az eljárást,
Először nyissa meg a Fejlesztő tab>> select Visual Basic
Használhatja a ALT + F11 billentyűzetet a VBA szerkesztő.
Ezután megnyílik egy ablak a Microsoft Visual Basic for Applications.
Ezután nyissa meg Beillesztés >> select Modul .
A Modul megnyílik, majd írja be a következő kódot a megnyitott 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
Itt kijelentettem, hogy a Aleljárás Copy_Range_withFormat_AutoFit másolása
Először is, kiválasztottam a munkalapot Adatkészlet . Aztán a tartományban B1:E10 a meglévő lapról a céllapra való másoláshoz a következő nevű lapra AutoFit .
Itt a Másolás módszerrel másolja a kiválasztott tartományt és a AutoFit módszer automatikusan illeszti a megadott oszlopokat B:E .
Végre, Mentés a kódot, és térjen vissza a munkalapra.
Ezután nyissa meg a A megtekintése tab>> from Makrók >> select Makrók megtekintése
➤ A párbeszédpanel fog felbukkanni.
Most, a Makró neve válassza ki a Copy_Range_withFormat_AutoFit másolása válassza ki a munkafüzetet is a Makrók a .
Végre, Fuss a kiválasztott Makró .
Ennélfogva Másolás a kiválasztott tartományt egy új lapra, valamint AutoFit az oszlopok.
6. VBA Tartomány másolása egy másik munkafüzetbe
Ha szeretné, akkor is Másolás egy tartományt egy lapról egy másik munkafüzet egy másik lapjára.
Tessék, én... Másolás a következő tartományban Adatkészlet lapot a Sheet1 a Book1 munkafüzet.
Kezdjük el az eljárást,
Először nyissa meg a Fejlesztő tab>> select Visual Basic (y ou használhatod a ALT + F11 billentyűzet)
Ezután megnyílik Microsoft Visual Basic for Applications.
Ezután nyissa meg Beillesztés >> select Modul .
A Modul megnyílik, majd írja be a következő kódot a megnyitott Modul .
Sub Copy_Range_WithFormat_Toanother_WorkBook() Workbooks("Excel VBA Copy Range to Another Sheet.xlsm").Worksheets("Dataset").Range("B3:E10"). _ Copy Workbooks("Book1").Worksheets("Sheet1").Range("B3") End Sub
Itt kijelentettem, hogy a Aleljárás Copy_Range_WithFormat_Toanother_WorkBook (Másolás_Tartomány_Formátummal_Más munkakönyvbe)
Elvittem a lőtérre B3:E10 a lap nevétől Adatkészlet a meglévő lapról az új munkafüzet nevére történő másoláshoz Book1 és a lap neve Sheet1 .
Itt a Másolás módszerrel másolja a kijelölt tartományt az új munkafüzetbe.
Végre, Mentés a kódot, és térjen vissza a munkalapra.
Ezután nyissa meg a A megtekintése tab>> from Makrók >> select Makrók megtekintése
➤ A párbeszédpanel fog felbukkanni.
Most, a Makró neve válassza ki a Copy_Range_WithFormat_Toanother_WorkBook (Másolás_Tartomány_Formátummal_Más munkakönyvbe) válassza ki a munkafüzetet is a Makrók a .
Végre, Fuss a kiválasztott Makró .
Most, ez lesz Másolás a kiválasztott tartományt a Adatkészlet lapot egy másik munkafüzetbe.
7. Tartomány másolása egy másik lap utolsó sorába
Mindenesetre, ha azt akarja, hogy Másolás egy tartományt egy másik lapra egy adott cellából vagy az utolsó cellából, akkor ezt megteheti a VBA .
Mielőtt belemennék az eljárásba, szeretném elmondani, hogy két új lapot vettem, amelyekből áll. Teljes név, e-mail, és Cím: .
Figyeljük meg a Adatkészlet2 lapot először.
Itt van a Az utolsó cella alatt lap.
Tessék, én... Másolás a következő tartományban Adatkészlet2 lapot a Az utolsó cella alatt hanem az első nem üres cellából.
Kezdetnek nyissa meg a Fejlesztő tab>> select Visual Basic
Ezután megnyílik Microsoft Visual Basic for Applications.
Ezután nyissa meg Beillesztés >> select Modul .
A Modul megnyílik, majd írja be a következő kódot a megnyitott 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 EndSub
Itt kijelentettem, hogy a Aleljárás Copy_Range_BelowLastCell_AnotherSheets Másolás_Más lapok
Először is, kiválasztottam a lapot Adatkészlet2 majd a Sor módszerrel számolja a Utolsó sor és a megszámlált sort a lr .
Ezután vette a tartományt A2:C & lr a meglévő lapról a céllap nevére történő másoláshoz Az utolsó cella alatt .
Ismét a Sor módszerrel számolja a Utolsó sor egy másik lap névre keresztelt Az utolsó cella alatt és a megszámlált sort a lrAnotherSheet .
Itt a Másolás módszerrel másolja a kiválasztott tartományt és a AutoFit módszer automatikusan illeszti a megadott oszlopokat A:C .
Végre, Mentés a kódot, és térjen vissza a munkalapra.
Ezután nyissa meg a A megtekintése tab>> from Makrók >> select Makrók megtekintése
➤ A párbeszédpanel fog felbukkanni.
Most, a Makró neve válassza ki a Copy_Range_BelowLastCell_AnotherSheets Másolás_Más lapok válassza ki a munkafüzetet is a Makrók a .
Végre, Fuss a kiválasztott Makró .
Ennélfogva Másolás a kiválasztott tartományt, és Paste egy másik lap utolsó sorából.
8. VBA Tartomány másolása egy másik munkafüzet utolsó sorába
Ha azt szeretné, hogy Másolás tartományt egy másik munkafüzet lapjának utolsó sorába, akkor is használhatja a VBA .
Tessék, én... Másolás a következő tartományban Adatkészlet2 lapot a Sheet1 a Book2 hanem az első nem üres cellából.
Az eljárás elindítása,
Először nyissa meg a Fejlesztő tab>> select Visual Basic
Használhatja a ALT + F11 billentyűzetet a VBA szerkesztő.
Ezután megnyílik egy új ablak a Microsoft Visual Basic for Applications.
Innen nyissa meg a Beillesztés >> select Modul .
A Modul megnyílik, majd írja be a következő kódot a megnyitott 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
Itt kijelentettem, hogy a Aleljárás Copy_Range_BelowLastCell_To_Another_Workbook (Másolat_tartomány_az_legutolsó_cellák_másik_munkafüzetbe) ahol wsCopy és wsDestination a Munkalap típus, lCopyLastRow és lDestLastRow a Hosszú típus.
Először is, használt Állítsa be a a másolandó lap és a céllap változóinak beállításához.
Ezután használta a Sor módszer az utolsó sor keresésére az oszlop adatai alapján A a másolási tartományban.
Ismét a Sor módszer az első üres sor megtalálásához az oszlop adatai alapján A a céltartományban is használt Offset egy ingatlannal lejjebb költözni.
Végre, Másolva a Adatkészlet2 lapot a Excel VBA tartomány másolása egy másik Sheet.xlsm-re munkafüzet a célállomáshoz Sheet1 a munkafüzet Book2.xlsx .
Most, Mentés a kódot, és térjen vissza a munkalapra.
Ezután nyissa meg a A megtekintése tab>> from Makrók >> select Makrók megtekintése
➤ A párbeszédpanel fog felbukkanni.
Most, a Makró neve válassza ki a Copy_Range_BelowLastCell_To_Another_Workbook (Másolat_tartomány_az_legutolsó_cellába_Másik_munkafüzetbe) válassza ki a munkafüzetet is a Makrók a .
Végre, Fuss a kiválasztott Makró .
Ennélfogva Másolás a kijelölt tartományt a meglévő lapról egy másik munkafüzet utolsó sorába.
Gyakorlati szekció
A munkafüzetben egy gyakorló lapot is mellékeltem az Excel ezen elmagyarázott módszereinek gyakorlásához VBA tartomány másolása egy másik lapra.
Következtetés
Ebben a cikkben elmagyaráztam 8 különböző típusú egyszerű és gyors módszert az Excel számára. VBA tartomány másolása egy másik lapra. Ezek a különböző módok segítenek abban, hogy egy tartományt másoljon egyik lapról a másikra, valamint egy lapról egy másik munkafüzetbe. Végül, de nem utolsósorban, ha bármilyen javaslata, ötlete és visszajelzése van, kérjük, bátran írjon megjegyzést az alábbiakban.