Excel VBA Salin Rentang ke Lembar Lain (8 Cara Termudah)

  • Bagikan Ini
Hugh West

Kapan pun Anda membutuhkan, Anda dapat menyalin rentang dari satu lembar ke lembar atau buku kerja lain. Ada berbagai jenis penyalinan dan penempelan. Mengikuti artikel ini, Anda akan mengetahui berbagai cara menggunakan rentang salin VBA Excel ke lembar lain.

Untuk membuat penjelasannya lebih hidup, saya akan menggunakan contoh dataset yang merepresentasikan informasi pribadi orang-orang tertentu. Dataset ini memiliki 4 kolom. Kolom-kolom ini adalah Nama Depan, Nama Belakang, Nama Lengkap, dan Email .

Unduh Buku Kerja untuk Berlatih

VBA Salin Rentang ke Lembar Lain.xlsm

8 Cara untuk Excel VBA Salin Rentang ke Lembar Lain

1. Salin Rentang ke Lembar Lain dengan Format

Kapan pun Anda ingin Salinan rentang dari satu lembar ke lembar lain dengan Format Anda bisa melakukannya dengan menggunakan VBA .

Di sini, saya akan Salinan kisaran dari Dataset lembar ke DenganFormat lembar.

Mari kita mulai prosedurnya,

Pertama, buka Pengembang tab>> pilih Visual Basic

Anda juga bisa menggunakan ALT + F11 keyboard untuk membuka VBA editor.

Selanjutnya, ini akan membuka jendela baru bernama Microsoft Visual Basic for Applications.

Dari sana, buka Sisipkan >>> pilih Modul .

A Modul akan terbuka kemudian ketik kode berikut pada bagian yang terbuka Modul .

 Sub Copy_Range_withFormat_ToAnother_Sheet() Range("B1:E10").Copy Worksheets("WithFormat").Range("B1:E10") End Sub 

Di sini, saya menyatakan Sub prosedur Salin_Range_dengan_Format_KeLembar_Lainnya

Saya telah mengambil jangkauan B1:E10 untuk menyalin dari sheet yang ada ke nama sheet DenganFormat .

Di sini, saya menggunakan Salinan untuk menyalin rentang yang dipilih, Salinan metode menyalin rentang apa pun dengan Format .

Akhirnya, Simpan kode dan kembali ke lembar kerja.

Berikutnya, buka Lihat tab>> dari Makro >>> pilih Lihat Makro

➤ A kotak dialog akan muncul.

Sekarang, dari Nama makro pilih Salin_Range_dengan_Format_KeLembar_Lainnya juga memilih buku kerja di dalam Makro dalam .

Akhirnya, Lari yang dipilih Makro .

Oleh karena itu, akan Salinan rentang yang dipilih dengan Format ke lembar baru yang saya pilih ( DenganFormat) .

2. VBA Salin Rentang ke Lembar Lain tanpa Format

Juga dimungkinkan untuk Salinan rentang ke lembar lain tanpa Format dengan menggunakan VBA .

Di sini, saya akan Salinan kisaran dari Dataset lembar ke TanpaFormat lembar.

Mari kita mulai prosedurnya,

Sekarang, buka Pengembang tab>> pilih Visual Basic ( gunakan ALT + F11)

Selanjutnya, akan terbuka Microsoft Visual Basic for Applications.

Kemudian, buka Sisipkan >>> pilih Modul .

A Modul akan terbuka kemudian ketik kode berikut pada bagian yang terbuka Modul .

 Sub Copy_Range_TanpaFormat_KeLembar_Lain() Range("B1:E10").Copy Sheets("WithoutFormat").Range("B1").PasteSpecial _ Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub 

Di sini, saya menyatakan Sub prosedur Salin_Range_Tanpa_Format_KeLembar_Lainnya

Saya telah mengambil jangkauan B1:E10 untuk menyalin dari sheet yang ada ke nama sheet TanpaFormat .

Di sini, saya menggunakan Salinan untuk menyalin rentang yang dipilih tetapi juga disebutkan Tempel:=xlPasteValues di TempelKhusus sehingga hanya akan menempelkan Nilai-nilai dari rentang yang dipilih, bukan formatnya.

Akhirnya, Simpan kode dan kembali ke lembar kerja.

Berikutnya, buka Lihat tab>> dari Makro >>> pilih Lihat Makro

➤ A kotak dialog akan muncul.

Sekarang, dari Nama makro pilih Salin_Rentang_Tanpa_Format_KeLembar_Lainnya dan juga memilih buku kerja di dalam Makro dalam .

Akhirnya, Lari yang dipilih Makro .

Dengan demikian, itu akan Salinan rentang yang dipilih hanya dengan Nilai-nilai tidak Format .

3. Salin Rentang ke Lembar Lain dengan Format dan Lebar Kolom

Terkadang Anda mungkin ingin Salinan setiap rentang yang dipilih apa adanya, untuk itu Anda dapat Salinan sebuah rentang dengan Format dan Lebar Kolom .

Di sini, saya akan Salinan kisaran dari Dataset lembar ke Format &; Lebar Kolom lembar.

Untuk melihat prosedur untuk melakukan tugas menggunakan VBA ,

Pertama, buka Pengembang tab>> pilih Visual Basic

Anda juga bisa menggunakan ALT + F11 keyboard untuk membuka VBA editor.

Selanjutnya, ini akan membuka jendela baru Microsoft Visual Basic for Applications.

Di sana, buka Sisipkan >>> pilih Modul .

A Modul akan terbuka kemudian ketik kode berikut pada bagian yang terbuka 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 

Di sini, saya menyatakan Sub prosedur Salin_Range_ke_Lembar_Lain_dengan_FormatDanLebarKolom

Saya telah mengambil jangkauan B1:E10 untuk menyalin dari sheet yang ada ke nama sheet tujuan Format &; Lebar Kolom .

Di sini, saya menggunakan Salinan untuk menyalin rentang yang dipilih. Saya juga menggunakan metode TempelKhusus metode di mana saya menyebutkan Tempel:=xlTempelLebarKolom sehingga ia menempelkan rentang yang dipilih bersama dengan Format dan Lebar Kolom .

Akhirnya, Simpan kode dan kembali ke lembar kerja.

Berikutnya, buka Lihat tab>> dari Makro >>> pilih Lihat Makro

➤ A kotak dialog akan muncul.

Sekarang, dari Nama makro pilih Salin_Range_ke_Lembar_Lain_dengan_FormatDanLebarKolom dan juga memilih buku kerja di dalam Makro dalam .

Akhirnya, Lari yang dipilih Makro .

Sebagai hasilnya, ini akan Salinan rentang yang dipilih dengan Format dan Lebar Kolom .

4. VBA Salin Rentang ke Lembar Lain dengan Formula

Jika Anda memiliki formula apa pun di dataset Anda yang ingin Anda salin. Jangan khawatir! Anda dapat menyalin rentang yang berisi Rumus ke lembar lain dengan menjaga formula tetap utuh.

Di sini, saya akan Salinan kisaran dari Dataset lembar ke DenganFormula lembar

Mari kita mulai prosedurnya,

Untuk memulainya, buka Pengembang tab>> pilih Visual Basic ( Anda juga bisa menggunakan ALT + F11 keyboard)

Selanjutnya, akan terbuka Microsoft Visual Basic for Applications.

Dari sana, buka Sisipkan >>> pilih Modul .

A Modul akan terbuka kemudian ketik kode berikut pada bagian yang terbuka 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 

Di sini, saya menyatakan Sub prosedur Salin_Range_dengan_Formula_KeLembar_Lainnya

Saya telah mengambil jangkauan B1:E10 untuk menyalin dari sheet yang ada ke nama sheet tujuan DenganFormula .

Di sini, saya menggunakan Salinan untuk menyalin rentang yang dipilih. Saya juga menggunakan metode TempelKhusus metode di mana saya menyebutkan Tempel:=xlTempelFormula sehingga membawa Rumus bersama dengan kisaran yang dipilih.

Akhirnya, Simpan kode dan kembali ke lembar kerja.

Kemudian, buka Lihat tab>> dari Makro >>> pilih Lihat Makro

➤ A kotak dialog akan muncul.

Sekarang, dari Nama makro pilih Salin_Range_dengan_Formula_KeLembar_Lainnya juga memilih buku kerja di dalam Makro dalam .

Akhirnya, Lari yang dipilih Makro .

Dengan demikian, itu akan Salinan semua rentang sel yang dipilih dengan Rumus .

Bacaan serupa:

  • Cara Menggunakan VBA Range Offset (11 Cara)
  • VBA untuk Setiap Sel dalam Rentang di Excel (3 Metode)
  • Cara Menggunakan Objek Rentang VBA di Excel (5 Properti)

5. Salin Rentang dengan AutoFit ke Sheet Lain

Sementara Menyalin rentang ke lembar lain, Anda juga dapat menggunakan tombol AutoFit metode di dalam VBA untuk AutoFit rentang yang disalin di lembar baru.

Di sini, saya akan Salinan kisaran dari Dataset lembar ke AutoFit lembar

Mari kita mulai prosedurnya,

Pertama, buka Pengembang tab>> pilih Visual Basic

Anda juga bisa menggunakan ALT + F11 keyboard untuk membuka VBA editor.

Selanjutnya, ini akan membuka jendela Microsoft Visual Basic for Applications.

Kemudian, buka Sisipkan >>> pilih Modul .

A Modul akan terbuka kemudian ketik kode berikut pada bagian yang terbuka 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 

Di sini, saya menyatakan Sub prosedur Salin_Range_denganFormat_AutoFit

Pertama, saya memilih lembar kerja Dataset . Kemudian diambil kisarannya B1:E10 untuk menyalin dari sheet yang sudah ada ke sheet tujuan bernama AutoFit .

Di sini, saya menggunakan Salinan untuk menyalin rentang yang dipilih dan metode AutoFit akan mengautofit kolom yang diberikan B:E .

Akhirnya, Simpan kode dan kembali ke lembar kerja.

Berikutnya, buka Lihat tab>> dari Makro >>> pilih Lihat Makro

➤ A kotak dialog akan muncul.

Sekarang, dari Nama makro pilih Salin_Range_denganFormat_AutoFit juga memilih buku kerja di dalam Makro dalam .

Akhirnya, Lari yang dipilih Makro .

Oleh karena itu, akan Salinan rentang yang dipilih ke lembar baru dan juga AutoFit kolom-kolomnya.

6. VBA Menyalin Rentang ke Buku Kerja Lain

Jika Anda ingin, Anda juga bisa Salinan rentang dari satu lembar ke lembar lain dari buku kerja yang berbeda.

Di sini, saya akan Salinan kisaran dari Dataset lembar ke Sheet1 dari Buku1 buku kerja.

Mari kita mulai prosedurnya,

Pertama, buka Pengembang tab>> pilih Visual Basic (y Anda juga bisa menggunakan ALT + F11 keyboard)

Kemudian, akan terbuka Microsoft Visual Basic for Applications.

Selanjutnya, buka Sisipkan >>> pilih Modul .

A Modul akan terbuka kemudian ketik kode berikut pada bagian yang terbuka 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 

Di sini, saya menyatakan Sub prosedur Salin_Range_Dengan_Format_Ke_Buku_Kerja_Lainnya

Saya telah mengambil rentang B3:E10 dari nama lembar Dataset untuk menyalin dari sheet yang ada ke nama buku kerja baru Buku1 dan nama lembar Sheet1 .

Di sini, saya menggunakan Salinan untuk menyalin rentang yang dipilih ke buku kerja baru.

Akhirnya, Simpan kode dan kembali ke lembar kerja.

Berikutnya, buka Lihat tab>> dari Makro >>> pilih Lihat Makro

➤ A kotak dialog akan muncul.

Sekarang, dari Nama makro pilih Salin_Range_Dengan_Format_Ke_Buku_Kerja_Lainnya juga memilih buku kerja di dalam Makro dalam .

Akhirnya, Lari yang dipilih Makro .

Sekarang, itu akan Salinan rentang yang dipilih dari Dataset lembar ke buku kerja lain.

7. Salin Rentang ke Baris Terakhir Lembar Lain

Bagaimanapun, jika Anda ingin Salinan range ke sheet lain dari sel tertentu atau sel terakhir yang dapat Anda lakukan dengan menggunakan perintah VBA .

Sebelum masuk ke dalam prosedur, saya ingin memberi tahu Anda bahwa, saya telah mengambil dua lembar baru yang terdiri dari Nama Lengkap, Email, dan Alamat .

Mari kita amati Dataset2 lembar pertama.

Berikut ini adalah Di bawah Sel Terakhir lembar.

Di sini, saya akan Salinan kisaran dari Dataset2 lembar ke Di bawah Sel Terakhir tetapi dari sel pertama yang tidak kosong.

Untuk memulainya, buka Pengembang tab>> pilih Visual Basic

Selanjutnya, akan terbuka Microsoft Visual Basic for Applications.

Kemudian, buka Sisipkan >>> pilih Modul .

A Modul akan terbuka kemudian ketik kode berikut pada bagian yang terbuka 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 

Di sini, saya menyatakan Sub prosedur Copy_Range_BelowLastCell_AnotherSheets

Pertama, saya memilih lembar Dataset2 dan kemudian menggunakan Baris untuk menghitung Baris Terakhir dan menyimpan baris yang dihitung dalam lr .

Kemudian diambil kisarannya A2:C & lr untuk menyalin dari sheet yang ada ke nama sheet tujuan Di bawah Sel Terakhir .

Sekali lagi, menggunakan Baris untuk menghitung Baris Terakhir dari lembar lain bernama Di bawah Sel Terakhir dan menyimpan baris yang dihitung dalam lrLembar lain .

Di sini, saya menggunakan Salinan untuk menyalin rentang yang dipilih dan metode AutoFit akan mengautofit kolom yang diberikan A:C .

Akhirnya, Simpan kode dan kembali ke lembar kerja.

Berikutnya, buka Lihat tab>> dari Makro >>> pilih Lihat Makro

➤ A kotak dialog akan muncul.

Sekarang, dari Nama makro pilih Copy_Range_BelowLastCell_AnotherSheets juga memilih buku kerja di dalam Makro dalam .

Akhirnya, Lari yang dipilih Makro .

Oleh karena itu, akan Salinan rentang yang dipilih dan akan Tempel itu dari baris terakhir lembar lain.

8. VBA Menyalin Rentang ke Baris Terakhir Buku Kerja Lain

Jika Anda ingin Salinan rentang ke baris terakhir dari lembar buku kerja lain, Anda juga dapat menggunakan perintah VBA .

Di sini, saya akan Salinan kisaran dari Dataset2 lembar ke Sheet1 dari Buku2 tetapi dari sel pertama yang tidak kosong.

Untuk memulai prosedur,

Pertama, buka Pengembang tab>> pilih Visual Basic

Anda juga bisa menggunakan ALT + F11 keyboard untuk membuka VBA editor.

Selanjutnya, ini akan membuka jendela baru Microsoft Visual Basic for Applications.

Dari sana, buka Sisipkan >>> pilih Modul .

A Modul akan terbuka kemudian ketik kode berikut pada bagian yang terbuka 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 

Di sini, saya menyatakan Sub prosedur Copy_Range_BelowLastCell_To_Another_Workbook di mana wsCopy dan wsTujuan adalah Lembar Kerja Tipe, lCopyLastRow dan lDestLastRow adalah Panjang Tipe.

Pertama, digunakan Set untuk menetapkan variabel untuk sheet yang akan disalin dan sheet tujuan.

Selanjutnya, menggunakan Baris untuk menemukan baris terakhir berdasarkan data kolom A dalam kisaran penyalinan.

Sekali lagi, menggunakan Baris untuk menemukan baris kosong pertama berdasarkan data kolom A dalam kisaran tujuan juga digunakan Offset untuk pindah ke satu properti.

Akhirnya, Disalin data dari Dataset2 lembar dari Excel VBA Salin Rentang ke Lembar Lain.xlsm buku kerja ke tujuan Sheet1 dari buku kerja Book2.xlsx .

Sekarang, Simpan kode dan kembali ke lembar kerja.

Berikutnya, buka Lihat tab>> dari Makro >>> pilih Lihat Makro

➤ A kotak dialog akan muncul.

Sekarang, dari Nama makro pilih Copy_Range_BelowLastCell_To_Another_Workbook juga memilih buku kerja di dalam Makro dalam .

Akhirnya, Lari yang dipilih Makro .

Oleh karena itu, akan Salinan rentang yang dipilih dari lembar yang ada ke baris terakhir buku kerja lain.

Bagian Latihan

Saya telah menyediakan lembar latihan dalam buku kerja untuk mempraktikkan cara-cara Excel yang dijelaskan ini VBA menyalin rentang ke lembar lain.

Kesimpulan

Dalam artikel ini, saya telah menjelaskan 8 jenis cara mudah dan cepat Excel VBA Salin rentang ke lembar lain. Berbagai cara ini akan membantu Anda menyalin rentang dari satu lembar ke lembar lainnya dan juga dari satu lembar ke buku kerja lain. Last but not least, jika Anda memiliki saran, ide, dan umpan balik, jangan ragu untuk berkomentar di bawah ini.

Hugh West adalah pelatih dan analis Excel yang sangat berpengalaman dengan pengalaman lebih dari 10 tahun di industri ini. Beliau meraih gelar Sarjana di bidang Akuntansi dan Keuangan dan gelar Master di bidang Administrasi Bisnis. Hugh memiliki hasrat untuk mengajar dan telah mengembangkan pendekatan pengajaran unik yang mudah diikuti dan dipahami. Pengetahuan ahlinya tentang Excel telah membantu ribuan siswa dan profesional di seluruh dunia meningkatkan keterampilan dan unggul dalam karier mereka. Melalui blognya, Hugh membagikan pengetahuannya kepada dunia, menawarkan tutorial Excel gratis dan pelatihan online untuk membantu individu dan bisnis mencapai potensi penuh mereka.