Helaian Padam VBA

Lembaran Padam Excel VBA

Untuk Menghapus Lembaran di VBA kami kaedah Hapus Lembaran Kerja. Untuk menggunakan kaedah ini terlebih dahulu, kita perlu mengenal pasti helaian mana yang akan kita hapus dengan memanggil nama helaian. Kami mempunyai dua kaedah untuk melakukan yang sama pertama kami secara langsung menulis sheet1.delete dan kaedah kedua adalah sheet (sheet1) .delete

Jadi sintaksnya mengikuti.

Lembaran kerja ("Nama Lembaran Kerja"). Padam

ATAU

Helaian ("Nama Helaian"). Padam

Jadi, pertama, kita perlu menentukan nama lembaran dengan menggunakan Lembaran Kerja atau Objek Lembaran , kemudian kemudian kita dapat menggunakan metode "Hapus" .

Bagaimana Menghapus Lembaran Excel menggunakan Kod VBA?

Anda boleh memuat turun Templat Excel Delete Sheet Excel VBA ini di sini - Templat Excel Delete Sheet Excel VBA

Contoh # 1 - Padam Lembaran Kerja dengan menggunakan Namanya

Andaikan anda mempunyai banyak helaian dan untuk memadam lembaran kerja tertentu, kita perlu menyebut lembaran kerja dengan namanya. Sebagai contoh, saya mempunyai 3 helaian berbeza bernama "Sales 2016", "Sales 2017", dan "Sales 2018".

Sekiranya saya ingin menghapus helaian yang dinamakan sebagai " Penjualan 2017 " maka saya harus menyebut nama helaian seperti di bawah.

Kod:

Sub Delete_Example1 () Lembaran Kerja ("helaian 2017"). Sub Akhir

Masalah dengan menyebut nama lembaran kerja secara langsung, kita tidak dapat melihat senarai VBA IntelliSense. Bagaimanapun menyebut kaedah tersebut sebagai " Hapus ".

Kod:

Sub Delete_Example1 () Lembaran Kerja ("helaian 2017"). Padam Sub Akhir

Jadi ini akan menghapus helaian yang dinamakan sebagai " Sales 2017 "

Ralat Semasa Menghapus Lembaran Kerja: Sekiranya kita cuba menghapus lembaran kerja yang tidak ada atau jika kita menyebut nama lembaran kerja dengan salah, kita akan mendapat ralat vba sebagai "Langganan Di Luar Jangkauan ".

Di atas, saya mendapat ralat "Subscript Out of Range" kerana di buku kerja saya tidak ada nama lembaran yang disebut "Sales 2017".

Contoh # 2 - Padam Lembaran Kerja dengan Namanya dengan Pemboleh ubah

Seperti yang kita lihat contoh di atas ketika kita merujuk nama lembar kerja dengan menggunakan objek Lembar Kerja, kita tidak dapat melihat daftar IntelliSense. Untuk melihat senarai IntelliSense kita perlu menggunakan pemboleh ubah.

Langkah 1: Mula-mula menyatakan pemboleh ubah sebagai Lembaran Kerja .

Kod:

 Sub Hapus_Contoh2 () Dim Ws Sebagai Lembaran Kerja Akhir Sub 

Langkah 2: Oleh kerana lembaran kerja adalah pemboleh ubah objek, kita perlu menetapkan pemboleh ubah ke lembaran kerja tertentu dengan menggunakan kata " SET ".

Kod:

 Sub Hapus_Contoh2 () Dim Ws Sebagai Lembaran Kerja Set Ws = Lembaran Kerja ("Jualan 2017") Sub Akhir 

Kini pemboleh ubah "Ws" merujuk pada lembaran kerja yang dinamakan sebagai "Penjualan 2017".

Langkah 3: Sekarang menggunakan pemboleh ubah " Ws " kita dapat mengakses semua senarai lembaran kerja IntelliSense.

Kod:

Sub Delete_Contoh2 () Dim Ws Sebagai Set Lembaran Kerja Ws = Lembaran Kerja ("Jualan 2017") Ws. Sub Akhir

Langkah 4: Dari senarai IntelliSense pilih kaedah " Padam ".

Kod:

 Sub Delete_Contoh2 () Dim Ws Sebagai Set Lembaran Kerja Ws = Lembaran Kerja ("Jualan 2017") Ws.Hapus Sub Akhir 

Seperti ini menggunakan pemboleh ubah, kita dapat mengakses senarai IntelliSense.

Contoh # 3 - Padamkan Lembaran Kerja Aktif

Lembaran Aktif tidak lain adalah lembaran kerja yang aktif atau dipilih pada masa ini. Untuk kaedah ini, kita tidak perlu menyebut nama lembaran kerja. Contohnya, lihat kod VBA di bawah.

Lembaran Aktif. Padam

Sekarang lembaran aktif adalah "Sales 2017".

Sekiranya saya menjalankan kod, ia akan menghapus lembaran yang aktif iaitu "Sales 2017".

Sekarang saya akan memilih "Jualan 2016".

Sekarang ia akan menghapus lembaran aktif iaitu "Sales 2016".

Seperti ini, kita dapat menggunakan objek "Lembaran Aktif" untuk menghapus lembaran kerja.

Catatan: Untuk menggunakan kaedah ini, kita harus benar-benar yakin dengan apa yang kita lakukan dengan Lembaran Aktif dan lembaran mana yang akan menjadi lembaran aktif.

Contoh # 4 - Padamkan Lebih daripada Satu Lembaran Kerja

Dalam contoh di atas, kita telah melihat cara menghapus satu helaian tetapi bagaimana jika kita mempunyai beberapa lembaran kerja katakan kita mahu memadamkan 10 lembaran kerja.

Kami tidak dapat terus menulis 10 baris kod untuk menghapus lembaran kerja, jadi kami perlu menggunakan gelung untuk mencari koleksi lembaran kerja dan menghapusnya.

Kod di bawah ini akan melingkari lembaran kerja dan memadam semua lembaran kerja dalam buku kerja.

Kod:

 Sub Delete_Contoh2 () Dim Ws Sebagai Lembaran Kerja Untuk Setiap Ws dalam ActiveWorkbook. Lembaran Kerja Ws.Hapus Next Ws End Sub 

Kod di atas akan menimbulkan ralat kerana cuba menghapus semua helaian di buku kerja. Oleh itu, untuk mengelakkan ini, kita perlu menyimpan sekurang-kurangnya satu lembaran kerja.

Sekiranya kita mahu memadam semua lembaran kerja kecuali lembaran aktif maka kita perlu menggunakan kod di bawah.

Kod:

 Sub Delete_Contoh2 () Dim Ws Sebagai Lembaran Kerja Untuk Setiap Ws di ActiveWorkbook. Lembaran Kerja Jika ActiveSheet.Name Ws.Name Kemudian Ws.Hapus End Jika Next Ws End Sub 

Similarly, if we don’t want to delete specific worksheet but to delete all other worksheets then we can use below code.

Code:

 Sub Delete_Example2() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets If Ws.Name  "Sales 2018" Then 'You can change the worksheet name Ws.Delete End If Next Ws End Sub 

The above code will delete all the worksheets except the worksheet named as “Sales 2018”.