Bagaimana cara menyalin dan memindahkan lembar menggunakan vba?

Anda dapat menyalin dan memindahkan sheet di Excel menggunakan kode VBA, dan dalam tutorial ini kita akan mempelajari berbagai cara untuk melakukannya.

Salin lembar di buku kerja yang sama

Jika Anda ingin menyalin lembar di buku kerja yang sama, Anda bisa menggunakan kode berikut di mana Anda telah menggunakan metode penyalinan.

 Sheets("Sheet5").Copy Before:=Sheets(1)

Dalam kode ini, sheet1 adalah lembar pertama buku kerja, dan saat Anda menjalankan kode ini, kode ini akan menyalin lembar dengan nama “Sheet5” sebelum lembar pertama buku kerja.

salin-lembar-ke-binder-yang-sama

Dan jika ingin menyalinnya setelah lembar pertama, kodenya adalah sebagai berikut.

 Sheets("Sheet5").Copy After:=Sheets(1)

Dan jika ingin menyalinnya setelah lembar pertama, kodenya adalah sebagai berikut.

 Sheets("Sheet5").Copy Before:=Sheets("Sheet3") Sheets("Sheet5").Copy After:=Sheets("Sheet3")

Saat Anda menjalankan kode VBA ini, kode tersebut akan menyalin “Sheet5” sebelum dan sesudah “Sheet3”.

kode vba jika ingin disalin setelah lembar pertama

Dengan baris kode berikut Anda bisa menyalin lembar setelah lembar terakhir buku kerja. Ia menggunakan sheet.count untuk mendapatkan jumlah lembar, lalu menggunakan hitungan untuk menyalin lembar terakhir.

 Sheets("myNewSheet").Move After:=Sheets(Sheets.Count)
salin-satu-lembar-setelah-lembar-terakhir-di-binder

Tautan yang berguna: Jalankan makroPerekam makroEditor Visual BasicBuku Pegangan Makro Pribadi

Salin lembar di buku kerja yang sama dengan nama baru

Dan jika Anda ingin menyalin sheet lalu langsung mengganti namanya, Anda perlu menggunakan properti name, seperti kode berikut.

 Sheets("Sheet5").Move Before:=Sheets(1) ActiveSheet.Name = "myNewSheet"
salin-lembar-ke-buku-kerja-yang-sama-dengan-nama-baru

Pindahkan lembar di buku kerja yang sama

Untuk memindahkan lembar di buku kerja yang sama, Anda perlu menggunakan metode pemindahan seperti yang Anda lakukan pada kode berikut.

 Sheets("Sheet5").Move After:=Sheets(1)
pindahkan-lembar-dalam-pengikat-yang-sama

Kode ini akan memindahkan “Sheet5” sebelum “Sheet2” seperti yang Anda lihat pada cuplikan di atas.

Salin lembar ke buku kerja baru

Saat Anda menggunakan metode salin tanpa menentukan lembar di buku kerja saat ini, VBA membuka buku kerja baru dan menyalin lembar itu ke buku kerja tersebut.

 Sheets("Sheet5").Copy

Dan untuk memindahkan lembar ke buku kerja baru.

 Sheets("Sheet5").Move

Salin beberapa lembar ke buku kerja baru

Jika Anda ingin menambahkan beberapa lembar ke buku kerja baru sekaligus, gunakan kode seperti ini.

 Sheets(Array("Sheet2", "Sheet3", "Sheet4", "Sheet5")).Copy

Kode di atas membuat array lembar dan kemudian menyalin semuanya ke dalam buku kerja baru.

Salin lembar ke buku kerja lain

Jika Anda ingin menyalin lembar ke buku kerja lain yang sudah terbuka, Anda bisa menyebutkan nama buku kerja setelah atau sebelum argumen.

 Sheets("Sheet1").Copy Before:=Workbooks("Book1.xlsx").Sheets(1)

Kode di atas menyalin Sheet1 dari buku kerja yang aktif dan menambahkannya sebelum lembar pertama Book1.xlsx yang sudah terbuka.

Dan jika Anda ingin memindahkannya.

 Sheets("Sheet1").Move Before:=Workbooks("Book1.xlsx").Sheets(1)

Salin lembar ke buku kerja tertutup

Ada cara untuk menyalin lembar ke buku kerja tertutup dan Anda tidak perlu membukanya. Lihatlah kode di bawah ini.

 Sub vba_copy_sheet() Dim mybook As Workbook Application.ScreenUpdating = False Set mybook = _ Workbooks.Open _ ("C:UsersDellDesktopsamplefile.xlsx") Workbooks("Book1.xlsx").Sheets("Sheet2").Copy Before:=mybook.Sheets(1) mybook.Close SaveChanges:=True Application.ScreenUpdating = True End Sub

Dalam kode ini, Anda memiliki variabel myBook dan kemudian buku kerja yang ditetapkan padanya. Kami telah menonaktifkan pembaruan layar sehingga kode dapat melakukan tugas di backend.

Salin lembar dari buku kerja lain tanpa membukanya

Dengan cara yang sama, Anda bisa menyalin dan memindahkan lembar dari buku kerja tertutup. Lihatlah kode di bawah ini.

 Sub vba_copy_sheet() Dim mybook As Workbook Application.ScreenUpdating = False Set mybook = _ Workbooks.Open _ ("C:UsersDellDesktopsamplefile.xlsx") mybook.Sheets("mySheet").Copy Before:=Workbooks("Book1.xlsx").Sheets(1) mybook.Close SaveChanges:=True Application.ScreenUpdating = True End Sub

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *