Bagaimana cara menghapus lembar menggunakan vba?

Untuk menghapus sheet menggunakan VBA, Anda harus menggunakan metode VBA Delete. Anda perlu menentukan lembar yang ingin Anda hapus dan kemudian menggunakan metode ini. Katakanlah jika Anda ingin menghapus “Sheet1”, maka Anda harus menyebutkan sheet1 lalu ketik titik (.) dan di akhir ketik “Delete”.

Dalam tutorial ini, kita akan melihat berbagai cara yang dapat Anda gunakan untuk menghapus sheet menggunakan kode VBA. Pastikan Anda memiliki tab pengembang di pita dari sini Anda dapat mengakses editor basis visual .

Hapus sheet menggunakan namanya

Setiap lembar memiliki nama dan Anda dapat menggunakan kode tulis untuk menghapus lembar menggunakan nama tersebut. Jadi, misalkan Anda ingin menghapus lembar kerja “Data”, kodenya adalah:

 Sub vba_delete_sheet() Sheets("Data").Delete End Sub
tulis-kode-hapus

Menghapus sheet tanpa peringatan (prompt)

Saat Anda menghapus lembar kerja, Excel menampilkan pesan untuk mengonfirmasi apakah Anda ingin menghapus atau membatalkannya. Dan bila Anda menggunakan kode VBA, dalam hal ini Excel juga akan melakukannya.

kotak dialog untuk mengonfirmasi penghapusan atau pembatalan

Untuk mengatasi masalah ini, Anda dapat menonaktifkan pembaruan layar untuk menghapus lembar lalu mengaktifkannya.

 Application.DisplayAlerts = False Sheets("Data").Delete Application.DisplayAlerts = True
nonaktifkan peringatan dialog

Nama lembar sel

Sekarang katakanlah Anda ingin menggunakan nilai sel untuk menggunakan nama lembar kerja. Dalam hal ini, Anda perlu menggunakan objek rentang VBA untuk melakukan ini.

gunakan-nilai-sel-untuk-menggunakan-nama-lembar kerja

Hapus lembar menggunakan nomor lembar

Itu benar. Anda dapat menggunakan nomor lembar untuk menghapusnya. Ini kodenya.

 Sub vba_delete_sheet() Sheets(1).Delete End Sub
gunakan-lembar-nomor-untuk-menghapusnya

Hapus lembar aktif

Untuk menghapus sheet yang aktif, Anda dapat menggunakan objek “ActiveSheet” alih-alih menggunakan nama sheet untuk menentukan sheet.

 ActiveSheet.Delete
untuk-menghapus-lembar-aktif-menggunakan-lembar-aktif

Seperti yang saya katakan, ini menghapus lembar aktif dan Anda dapat mengaktifkannya sebelum menghapusnya. Namun yang jelas, Anda tidak perlu melakukan ini karena Anda bisa merujuk ke sheet dan menghapusnya seperti yang kita lihat di awal tutorial ini.

Periksa apakah sheet tersebut ada sebelum menghapusnya

Anda juga dapat menulis kode sedemikian rupa sehingga dapat memeriksa apakah sheet tersebut ada atau tidak dan kemudian menghapusnya.

 Sub check_sheet_delete() Dim ws As Worksheet Dim mySheet As Variant mySheet = InputBox("enter sheet name") Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If mySheet = ws.Name Then ws.Delete End If Next ws Application.DisplayAlerts = True End Sub
tulis-kode-untuk-memeriksa-apakah-lembar-ada

Dalam kode ini Anda memiliki FOR EACH untuk mengulangi semua lembar kerja. Dan kemudian, PERNYATAAN IF untuk menghapus sheet jika namanya sama dengan nama yang Anda ketikkan di kotak input.

Hapus semua lembar kerja dari buku kerja

Saya yakin Anda memikirkan pertanyaan ini, tapi saya khawatir tidak mungkin menghapus semua lembar kerja yang Anda miliki di buku kerja. Anda memiliki setidaknya satu lembar kerja tersisa.

Tapi saya menemukan solusi untuk masalah ini. Anda dapat menyisipkan lembar kosong baru, lalu menghapus semua lembar yang sudah ada.

Berikut kodenya: Kode ini menambahkan sheet baru dan menghapus semua sheet lainnya.

 Sub vba_delete_all_worksheets() Dim ws As Worksheet Dim mySheet As String mySheet = "BlankSheet-" & Format(Now, "SS") Sheets.Add.Name = mySheet Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If ws.Name <> mySheet Then ws.Delete End If Next ws Application.DisplayAlerts = True End Sub

Tambahkan komentar

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