Excel VBA Copy Range to Another Sheet (8 Pinakamadaling Paraan)

  • Ibahagi Ito
Hugh West

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

Si Hugh West ay isang napakaraming Excel trainer at analyst na may higit sa 10 taong karanasan sa industriya. May hawak siyang Bachelor's degree sa Accounting and Finance at Master's degree sa Business Administration. Si Hugh ay may hilig sa pagtuturo at nakabuo ng kakaibang diskarte sa pagtuturo na madaling sundin at maunawaan. Ang kanyang dalubhasang kaalaman sa Excel ay nakatulong sa libu-libong mag-aaral at propesyonal sa buong mundo na mapabuti ang kanilang mga kasanayan at maging mahusay sa kanilang mga karera. Sa pamamagitan ng kanyang blog, ibinahagi ni Hugh ang kanyang kaalaman sa mundo, nag-aalok ng mga libreng Excel tutorial at online na pagsasanay upang matulungan ang mga indibidwal at negosyo na maabot ang kanilang buong potensyal.