Lembaran Kerja Salin VBA - Bagaimana Menggunakan Lembaran Kerja. Salin?

Lembaran Kerja Salin Excel VBA

Kadang kala kita mungkin perlu menyalin sel tertentu dari satu lembaran kerja ke lembaran kerja yang lain atau dalam lembaran kerja yang sama itu sendiri. Dalam beberapa kes, kita mungkin perlu menyalin keseluruhan lembaran kerja ke lembaran kerja baru. Anda mungkin biasa menyalin pelbagai sel, tetapi bagaimana dengan menyalin keseluruhan lembaran kerja itu sendiri menggunakan VBA. Dalam artikel ini, kami akan memberikan penjelasan terperinci mengenai cara menyalin lembaran kerja ke buku kerja lain di VBA.

Lembaran Kerja. Kaedah Salin dalam VBA

Pertama, lihat sintaks kaedah Salin Lembaran Kerja.

Lembaran kerja (). Salin (Sebelum, Selepas)

Kaedah salin mempunyai dua argumen di dalamnya Sebelum & Selepas; kedua-duanya adalah pilihan.

  1. Sebelum: Lembaran kerja yang disasarkan yang kami salin. Sekiranya anda menentukannya, anda tidak boleh menggunakan argumen After .
  2. Selepas: Lembaran kerja yang disasarkan yang sedang kami salin. Sekiranya anda menentukan ini, anda tidak boleh menggunakan argumen Before .

Oleh kerana kedua-duanya adalah argumen pilihan jika anda membiarkannya kosong maka lembaran kerja yang disasarkan akan disalin ke buku kerja baru, Microsoft Excel secara automatik membuat buku kerja baru.

Kita akan melihat contoh yang sama sekarang di bahagian contoh.

Contoh Lembaran Kerja Salin di VBA

Contoh # 1

Contohnya, lihat data di bawah dalam lembaran kerja bernama "Januari".

Kami mempunyai data di atas dalam lembar kerja bernama "Januari" .

  • Jadi, kita perlu menyalin lembaran kerja di atas selepas lembaran kerja yang dinamakan " Sheet1 ". Pertama, rujuk lembaran kerja dengan menggunakan objek lembaran kerja.

Kod:

Sub Lembaran Kerja_Copy_Contoh1 () Lembaran Kerja ("Januari") Akhir Sub
  • Seterusnya, masukkan kaedah " Salin ".

Kod:

Sub Lembaran Kerja_Copy_Example1 () Lembaran Kerja ("Januari"). Salin Akhir Sub
  • Seperti yang anda lihat di atas ketika mula mengetik, kita tidak dapat melihat senarai intelliSense untuk objek lembaran kerja, ini adalah salah satu masalah penting bagi pemula jika mereka secara langsung menggunakan objek WORKSHEETS, tetapi ini dapat dihilangkan dengan menggunakan pemboleh ubah, jadi tentukan berubah-ubah sebagai " Lembaran Kerja ".

Kod:

Sub Lembaran Kerja_Copy_Contoh1 () Dim Ws sebagai Sub Lembaran Akhir Lembaran Kerja
  • Sekarang untuk pemboleh ubah ini tetapkan rujukan lembaran kerja " Januari ".

Kod:

Sub Lembaran Kerja_Copy_Example1 () Dim Ws sebagai Lembaran Kerja Set Ws = Lembaran Kerja ("Januari") Sub Akhir
  • Jadi, sekarang menggunakan pemboleh ubah " Ws " kita dapat dengan mudah merujuk lembaran kerja bernama " Januari ". Oleh itu, masukkan nama pemboleh ubah " Ws " dan pilih kaedah " Salin ".

Di sana, kita dapat melihat senarai IntelliSense yang menunjukkan semua sifat dan kaedah objek lembaran kerja, berkat deklarasi pemboleh ubah.

  • Pilih kaedah " Salin ", dan kita dapat melihat argumen kaedah " Salin ".
  • Oleh kerana kita perlu menyalin lembaran kerja setelah lembaran kerja “ Sheet1 ”, akses pertama argumen “ After ” dengan memasukkan nama argumen seperti di bawah.

Setelah argumen diserlahkan kerana kami telah menggunakan nama argumen dengan simbol " sama dengan definisi " (: =)

  • Sekarang masukkan nama helaian dengan menggunakan objek " Lembar ".

Kod:

Sub Lembaran Kerja_Copy_Example1 () Dim Ws Sebagai Set Lembaran Kerja Ws = Lembaran Kerja ("Januari") Ws.Copy After: = Sheets ("Sheet1") Sub End
  • Kita Sudah Selesai. Ini akan menyalin lembaran kerja "yang januari " selepas lembaran kerja "yang Sheet1 ".

Di sana, kami telah menyalin lembaran kerja Januari di sebelah kanan "Sheet1". Salah satu perkara lalai di sini adalah nama lembaran kerja sama dengan lembaran yang disalin dengan kiraan berangka lembaran kerja dalam kurungan, dalam hal ini, adalah "(2)".

  • Untuk menukar nama lembaran kerja, tambahkan sekeping kod di bawah ke kod di atas.
  • So the overall code is below.

Code:

Sub Worksheet_Copy_Example1() Dim Ws As Worksheet Set Ws = Worksheets("January") Ws.Copy After:=Sheets("Sheet1") ActiveSheet.Name = “New Copied Sheet” End Sub
  • Now run the code and see what happens.

Example #2

Similarly, if you want to copy the worksheet “Sheet1” before the worksheet “January” uses the below code.

Code:

Sub Worksheet_Copy_Example2() Dim Ws As Worksheet Set Ws = Worksheets("Sheet1") Ws.Copy Before:=Sheets("January") ActiveSheet.Name = "New Sheet1" End Sub
  • So this will create a sheet-like the below.

Example #3

Similarly, if you want to copy the worksheet after the last worksheet then use the below code.

Code:

Sub Worksheet_Copy_Example3() Dim Ws As Worksheet Set Ws = Worksheets("January") Ws.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = "Last Sheet" End Sub

Output:

The only change we made is we have used “Sheets. Count” method to count how many sheets are there in the workbook.

Example #4

Similarly, if you want to copy the worksheet before the first worksheet then use the below code.

Code:

Sub Worksheet_Copy_Example4() Dim Ws As Worksheet Set Ws = Worksheets("January") Ws.Copy After:=Sheets(1) ActiveSheet.Name = "First Sheet" End Sub

Output:

In this case, we have used “Sheets(1)” so this will place the worksheet copied before the first worksheet of the workbook.

Things to Remember

  • Suppose you don’t use either Before & After argument of the Worksheet. Copy worksheets will be copied to the new workbook altogether.
  • Nama lembaran kerja yang disalin secara lalai akan sama diikuti dengan jumlah lembaran kerja yang disalin itu.

Artikel menarik...