Untuk menghapus sheet grafik, Anda bisa melakukan loop pada setiap sheet dimulai dari sheet paling akhir, mencari sheet yang merupakan sheet grafik, jika ditemukan, langsung hapus.

Pengelolaan VBA untuk objek-objek sesuai dengan susunannya ditunjukkan dari cara Anda menjalankan suatu objek dimulai dari awal dan menghapus suatu objek dari yang terakhir.

Di balik layar dimana VBA bekerja, VBA mengandalkan jumlah hitungan objek yang terkumpul, lalu dimana objek akan ditempatkan secara tidak mutlak pada tempat lain.

Dengan demikian alangkah baiknya jika Anda membiasakan melakukan loop secara terbalik/mundur pada saat menghapus suatu sheet, baris, atau kolom.

Loop pada contoh kode macro berikut dimulai dari sheet terakhir lalu bergerak mundur menggunakan statement Step -1.

Seperti biasa, siapkan terlebih dahulu sumber data dan sheet grafik pada workbook atau file Excel sebagai contoh untuk mempraktikkan tutorial ini.

Silakan Anda ikuti langkah-langkah berikut untuk menyusun kode macro:

1. Buka VBE dengan menekan Alt+F11.

2. Buat module baru melalui menu Insert > Module.

3. Pada module, berikan judul macro:

Sub HapusSheetGrafik()

4. Tepat di bawahnya, matikan ScreenUpdating dan Alerts:

With Application
.ScreenUpdating = False
.DisplayAlerts = False

5. Tetapkan variabel Integer untuk menghitung semua sheet:

Dim bs As Integer

6. Mulai loop pada semua sheet, hanya mencari sheet grafik saja:

For bs = Sheets.Count To 1 Step -1
If TypeName(Sheets(bs)) = "Chart" Then Sheets(bs).Delete
Next bs

7. Hidupkan lagi ScreenUpdating dan DisplayAlerts:

.DisplayAlerts = True
.ScreenUpdating = True
End With

8. Kode lengkapnya adalah:

Sub HapusSheetGrafik()
With Application
.ScreenUpdating = False
.DisplayAlerts = False
Dim bs As Integer
For bs = Sheets.Count To 1 Step -1
If TypeName(Sheets(bs)) = "Chart" Then Sheets(bs).Delete
Next bs
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub

9. Tekan Alt+Q untuk kembali ke worksheet.

10. Tekan Alt+F8 untuk membuka Macro lalu pilih HapusSheetGrafik lalu klik Run.

Sebagai tip tambahan, pada jendela Immediate VBE Anda bisa menjalankan garis kode berikut untuk menghapus semua grafik yang tertempel pada suatu worksheet:

If Activesheet.ChartObjects.Count > 0 Then ActiveSheet.ChartObjects.Delete

Demikian penjelasan tentang cara menghapus sheet grafik di dalam setiap worksheet pada suatu file atau workbook Excel.

Selamat mempraktikkan dan semoga postingan ini bermanfaat.