Talaan ng nilalaman
Sa tuwing kailangan mo maaari kang kumopya ng hanay mula sa isang sheet patungo sa isa pang sheet o workbook. Mayroong iba't ibang uri ng pagkopya at pag-paste. Kasunod ng artikulong ito, malalaman mo ang iba't ibang paraan upang magamit ang hanay ng kopya ng Excel VBA sa isa pang sheet.
Upang gawing masigla ang paliwanag, gagamit ako ng sample na dataset na kumakatawan sa personal na impormasyon ng mga partikular na tao . Ang dataset ay may 4 na column. Ang mga column na ito ay ang Unang Pangalan, Apelyido, Buong Pangalan, at Email .
I-download ang Workbook para Magsanay
VBA Copy Range to Another Sheet.xlsm
8 Ways to Excel VBA Copy Range to Another Sheet
1. Copy a Range sa Isa pang Sheet na may Format
Sa tuwing gusto mong Kopyahin ang isang hanay mula sa isang sheet patungo sa isa pang sheet na may Format magagawa mo lang ito sa pamamagitan ng paggamit ng VBA .
Dito, Kokopyahin ko ang isang hanay mula sa Dataset sheet hanggang WithFormat sheet.
Simulan natin ang pamamaraan,
Una, buksan ang tab na Developer >> piliin ang Visual Basic
Maaari mo ring gamitin ang ALT + F11 keyboard upang buksan ang VBA editor.
Susunod, magbubukas ito ng bagong window na pinangalanang Microsoft Visual Basic for Applications.
Mula doon, buksan ang Insert >> piliin ang Module .
Ang isang Module ay magbubukas pagkatapos ay i-type ang sumusunod na code sa binuksan >> piliin ang View Macros
➤ Isang dialog box ay mag-pop up.
Ngayon, mula sa Macro name piliin ang Copy_Range_BelowLastCell_AnotherSheets piliin din ang workbook sa loob ng Macros in .
Sa wakas, Run ang napiling Macro .
Samakatuwid, ito ay Kopyahin ang napiling hanay at I-paste ito mula sa huling hilera ng isa pang sheet .
8. VBA Copy a Range to the Last Row of Another Workbook
Kung gusto mong Copy isang range sa huling row ng isa pang workbook sheet na magagamit mo rin ang VBA .
Dito, ako ay Kopyahin isang range mula sa Dataset2 sheet hanggang Sheet1 ng Book2 ngunit mula sa unang hindi blangko na cell.
Upang simulan ang pamamaraan,
Una, buksan ang tab na Developer >> piliin ang Visual Basic
Maaari mo ring gamitin ang ALT + F11 keyboard upang buksan ang VBA editor.
Susunod, magbubukas ito ng bagong window ng Microsoft Visual Basic for Applications.
Mula doon, buksan ang Insert >> piliin ang Module .
Ang isang Module ay magbubukas pagkatapos ay i-type ang sumusunod na code sa binuksan na Module .
8513
Dito, idineklara ko ang Sub procedure Copy_Range_BelowLastCell_To_Another_Workbook kung saan wsCopy at wsDestination ay Worksheet type, lCopyLastRow at lDestLastRow ay Mahabang uri.
Una, ginamit ang Itakda upang magtakda ng mga variable para sa sheet na kokopyahin at sa patutunguhang sheet.
Susunod, ginamit ang Row paraan upang mahanap ang huling row batay sa data ng column A sa hanay ng kopya.
Muli, ginamit ang Row paraan upang mahanap ang unang blangko na row batay sa data ng column A sa hanay ng patutunguhan ay ginamit din ang Offset upang ilipat pababa ang isang property.
Sa wakas, Kopya ang data ng Dataset2 sheet mula sa Excel VBA Copy Range sa Another Sheet.xlsm workbook hanggang sa destinasyon Sheet1 ng workbook Book2.xlsx .
Ngayon, I-save ang code at bumalik sa worksheet.
Susunod, buksan ang View tab >> mula sa Macros >> piliin ang View Macros
➤ Isang dialog box ay mag-pop up.
Ngayon, mula sa Macro name piliin ang Copy_Range_BelowLastCell_To_Another_Workbook piliin din ang workbook sa loob ng Macros in .
Sa wakas, Run ang napiling Macro .
Kaya, ito ay Kopyahin ang napiling hanay mula sa umiiral na sheet hanggang sa huling hilera ng isa pang workbook.
Seksyon ng Pagsasanay
Nagbigay ako ng practice sheet sa workbook para sanayin ang mga ipinaliwanag na paraan ng Excel VBA na hanay ng kopya sa isa pang sheet.
Konklusyon
Sa artikulong ito, ipinaliwanag ko ang 8 iba't ibang uri ng madali at mabilis na paraan ngExcel VBA copy range sa isa pang sheet. Ang iba't ibang paraan na ito ay makakatulong sa iyo na kopyahin ang isang hanay mula sa isang sheet patungo sa isa pa at gayundin mula sa isang sheet patungo sa isa pang workbook. Panghuli ngunit hindi bababa sa, kung mayroon kang anumang uri ng mga mungkahi, ideya, at feedback mangyaring huwag mag-atubiling magkomento sa ibaba.
Module.1245
Dito, idineklara ko ang Sub procedure Copy_Range_withFormat_ToAnother_Sheet
Kinuha ko ang hanay na B1:E10 upang kopyahin mula sa umiiral na sheet patungo sa pangalan ng sheet na WithFormat .
Dito, ginamit ko ang Kopyahin paraan upang kopyahin ang napiling hanay, Kopyahin paraan ay kinokopya ang anumang hanay na may Format .
Sa wakas, I-save ang code at bumalik sa worksheet .
Susunod, buksan ang tab na View >> mula sa Macros >> piliin ang View Macros
➤ Isang dialog box ay mag-pop up.
Ngayon, mula sa Macro name piliin ang Copy_Range_withFormat_ToAnother_Sheet piliin din ang workbook sa loob ng Macros in .
Sa wakas, Run ang napiling Macro .
Kaya, ito ay Kopyahin ang napiling hanay na may Format sa bagong sheet na pinili ko ( WithFormat) .
2. VBA Copy a Range to Another Sheet without Format
Ito rin ay posibleng Kopyahin isang hanay sa isa pang sheet nang walang Format sa pamamagitan ng paggamit ng VBA .
Dito, Kokopyahin ko isang hanay mula sa Dataset sheet hanggang WalangFormat sheet.
Simulan natin ang pamamaraan,
Ngayon, buksan ang Developer tab >> piliin ang Visual Basic ( gamitin ang ALT + F11)
Susunod, magbubukas ito Microsoft Visual Basic for Applications.
Pagkatapos, buksan ang Insert >> piliin ang Module .
Ang isang Module ay magbubukas pagkatapos ay i-type ang sumusunod na code sa binuksan na Module .
6652
Dito, idineklara ko ang Sub procedure Copy_Range_WithoutFormat_Toanother_Sheet
Nakuha ko na ang range B1:E10 upang kopyahin mula sa umiiral na sheet patungo sa pangalan ng sheet WalangFormat .
Dito, ginamit ko ang Kopyahin paraan upang kopyahin ang napiling hanay ngunit din binanggit ang Paste:=xlPasteValues sa PasteSpecial paraan upang ito ay mag-paste lamang ng Mga Value ng napiling hanay, hindi ang format.
Sa wakas , I-save ang code at bumalik sa worksheet.
Susunod, buksan ang View tab >> mula sa Macros >> piliin ang View Macros
➤ Isang dialog box ay mag-pop up.
Ngayon, mula sa Macro name piliin ang Copy_Range_WithoutFormat_Toanother_Sheet at piliin din ang workbook sa loob ng Macros in .
Sa wakas, Patakbuhin ang ang napiling Macro .
Kaya, ito ay Kopyahin ang napiling hanay lamang na may Mga Halaga walang Format<3 Kopyahin ang anumang napiling hanay kung ano ito, para doon maaari mong Kopyahin ang isang hanay na may Format at Lapad ng Column .
Dito, Kokopyahin ko ang isang hanay mula sa Dataset sheet hanggang Format & Lapad ng haligi sheet.
Upang makita ang pamamaraan para gawin ang gawain gamit ang VBA ,
Una, buksan ang tab na Developer >> piliin ang Visual Basic
Maaari mo ring gamitin ang ALT + F11 keyboard upang buksan ang VBA editor.
Susunod, magbubukas ito ng bagong window ng Microsoft Visual Basic for Applications.
Doon, buksan ang Insert >> piliin ang Module .
Ang isang Module ay magbubukas pagkatapos ay i-type ang sumusunod na code sa binuksan na Module .
4074
Dito, idineklara ko ang Sub procedure Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth
Nakuha ko na ang range B1:E10 upang kopyahin mula sa umiiral na sheet patungo sa patutunguhang pangalan ng sheet Format & Lapad ng Column .
Dito, ginamit ko ang Copy paraan upang kopyahin ang napiling hanay. Ginamit ko rin ang PasteSpecial na paraan kung saan binanggit ko ang Paste:=xlPasteColumnWidths upang i-paste nito ang napiling range kasama ng Format at Column Width .
Sa wakas, I-save ang code at bumalik sa worksheet.
Susunod, buksan ang tab na View >> mula sa Macros >> piliin ang View Macros
➤ Isang dialog box ay mag-pop up.
Ngayon, mula sa Macro name piliin ang Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth at piliin din ang workbook sa loob ng Macros in .
Sa wakas, Patakbuhin ang ang napili Macro .
Bilang resulta, Kopyahin ang ang napiling hanay na may Format at Lapad ng Column .
4. VBA Copy a Range to Another Sheet with Formula
Kung sakaling mayroon kang anumang formula sa iyong dataset na gusto mong kopyahin. Huwag mag-alala! Maaari mong kopyahin ang hanay na naglalaman ng Formula sa isa pang sheet na pinananatiling buo ang formula.
Dito, Kokopyahin ko ang isang hanay mula sa Dataset sheet sa WithFormula sheet
Simulan natin ang pamamaraan,
Upang magsimula, buksan ang tab na Developer >> piliin ang Visual Basic ( magagamit mo rin ang ALT + F11 keyboard)
Susunod, ito ay magbubukas ng Microsoft Visual Basic for Applications.
Mula doon, buksan ang Insert >> piliin ang Module .
Ang isang Module ay magbubukas pagkatapos ay i-type ang sumusunod na code sa binuksan na Module .
7168
Dito, idineklara ko ang Sub procedure Copy_Range_withFormula_ToAnother_Sheet
Nakuha ko na ang range B1:E10 upang kopyahin mula sa umiiral na sheet patungo sa patutunguhang pangalan ng sheet WithFormula .
Dito, ginamit ko ang Copy paraan upang kopyahin ang napiling hanay. Ginamit ko rin ang PasteSpecial na paraan kung saan binanggit ko ang Paste:=xlPasteFormulas upang dalhin nito ang Mga Formula kasama ang napiling hanay.
Sa wakas , I-save ang code at bumalik sa worksheet.
Pagkatapos, buksan ang View tab >> mula sa Macros >> piliin ang View Macros
➤ Isang dialog box ay mag-pop up.
Ngayon, mula sa Macro name piliin ang Copy_Range_withFormula_ToAnother_Sheet piliin din ang workbook sa loob ng Macros in .
Sa wakas, Run ang napiling Macro .
Kaya, ito ay Kopyahin lahat ng napiling hanay ng cell na may Mga Formula .
Mga Katulad na Pagbasa:
- Paano Gamitin ang VBA Range Offset (11 Paraan)
- VBA para sa Bawat Cell sa Saklaw sa Excel (3 Paraan)
- Paano Gamitin ang Range Object ng VBA sa Excel (5 Properties)
5. Kopyahin ang isang Saklaw na may AutoFit sa Ibang Sheet
Habang Kinokopya ang isang hanay sa isa pang sheet maaari mo ring gamitin ang AutoFit paraan sa VBA sa AutoFit ang kinopyang hanay sa bagong sheet.
Dito, ako ay Kokopyahin isang hanay mula sa Dataset sheet to AutoFit sheet
Simulan natin ang procedure,
Una, buksan ang Developer tab >> piliin ang Visual Basic
Maaari mo ring gamitin ang ALT + F11 keyboard upang buksan ang VBA editor.
Susunod, magbubukas ito ng window ng Microsoft Visual Basic for Applications.
Pagkatapos, buksan ang Insert > ;> piliin ang Module .
Ang isang Module ay magbubukas pagkatapos ay i-type ang sumusunod na code sa binuksan Module .
9635
Dito, idineklara ko ang Sub procedure Copy_Range_withFormat_AutoFit
Una, pinili ko ang worksheet Dataset . Pagkatapos ay kinuha ang hanay na B1:E10 upang kopyahin mula sa kasalukuyang sheet patungo sa patutunguhang sheet na pinangalanang AutoFit .
Dito, ginamit ko ang Kopyahin paraan upang kopyahin ang napiling hanay at ang AutoFit paraan ay mag-autofit sa mga ibinigay na column B:E .
Sa wakas, I-save ang code at pumunta bumalik sa worksheet.
Susunod, buksan ang View tab >> mula sa Macros >> piliin ang View Macros
➤ Isang dialog box ay mag-pop up.
Ngayon, mula sa Macro name piliin ang Copy_Range_withFormat_AutoFit piliin din ang workbook sa loob ng Macros in .
Sa wakas, Run ang napiling Macro .
Kaya, ito ay Kopyahin ang napiling hanay sa isang bagong sheet at gayundin AutoFit ang mga column.
6. VBA Copy a Range to Another Workbook
Kung gusto mo, maaari mo ring Kopyahin ang isang range mula sa isang sheet papunta sa isa pang sheet ng ibang workbook.
Dito, Kokopyahin ko ang isang hanay mula sa Dataset sheet hanggang Sheet1 ng Book1 workbook.
Simulan natin ang pamamaraan,
Una, buksan ang Developer tab >> piliin ang Visual Basic (y maaari mo ring gamitin ang ALT + F11 keyboard)
Pagkatapos, magbubukas ito ng Microsoft VisualBasic para sa Mga Application.
Susunod, buksan ang Ipasok ang >> piliin ang Module .
Ang isang Module ay magbubukas pagkatapos ay i-type ang sumusunod na code sa binuksan na Module .
5606
Dito, idineklara ko ang Sub procedure Copy_Range_WithFormat_Toanother_WorkBook
Nakuha ko na ang range B3:E10 mula sa pangalan ng sheet Dataset para kopyahin mula sa umiiral na sheet patungo sa bagong pangalan ng workbook Book1 at pangalan ng sheet Sheet1 .
Dito, ginamit ko ang Copy paraan para kopyahin ang napiling hanay sa bagong workbook.
Sa wakas, I-save ang code at bumalik sa worksheet.
Susunod, buksan ang tab na View >> mula sa Macros >> piliin ang View Macros
➤ Isang dialog box ay mag-pop up.
Ngayon, mula sa Macro name piliin ang Copy_Range_WithFormat_Toanother_WorkBook piliin din ang workbook sa loob ng Macros in .
Sa wakas, Run ang napiling Macro .
Ngayon, ito ay Kopyahin ang napiling hanay mula sa Dataset sheet patungo sa isa pang workbook.
7. Kopyahin ang isang Range sa Huling Row ng Isa pang Sheet
Sa anumang kaso, kung gusto mong Kopyahin ang isang range sa isa pang sheet mula sa isang partikular na cell o sa huling cell magagawa mo ito gamit ang VBA .
Bago pumasok sa procedure, gusto kong sabihin sa iyo na, kumuha ako ng dalawang bagong sheet na binubuo ng Buong Pangalan, Email, at Address .
Obserbahan muna natin ang Dataset2 sheet.
Narito ang Ibaba ng Huling Cell sheet.
Narito, Kokopyahin ko ang isang hanay mula sa Dataset2 sheet hanggang Ibaba ng Huling Cell ngunit mula sa unang hindi blangko na cell.
Upang magsimula, buksan ang tab na Developer >> piliin ang Visual Basic
Susunod, magbubukas ito Microsoft Visual Basic for Applications.
Pagkatapos, buksan Ipasok ang >> piliin ang Module .
Ang isang Module ay magbubukas pagkatapos ay i-type ang sumusunod na code sa binuksan na Module .
5606
Dito, idineklara ko ang Sub procedure Copy_Range_BelowLastCell_AnotherSheets
Una, pinili ko ang sheet Dataset2 at pagkatapos ay ginamit ang Row paraan upang bilangin ang Huling Hilera at itago ang binilang na row sa lr .
Pagkatapos ay kinuha ang hanay A2:C & lr upang kopyahin mula sa umiiral na sheet patungo sa patutunguhang pangalan ng sheet Ibaba ng Huling Cell .
Muli, ginamit ang Row paraan upang bilangin ang Huling Row ng isa pang sheet na pinangalanang Below Last Cell at pinanatili ang binilang na row sa lrAnotherSheet .
Dito, ginamit ko ang Copy paraan upang kopyahin ang napiling hanay at ang AutoFit paraan ay mag-autofit sa mga ibinigay na column A:C .
Sa wakas, I-save ang code at bumalik sa worksheet.
Susunod, buksan ang View tab >> mula sa Macros