Skip to content Skip to sidebar Skip to footer

Cara Menghapus Data Ganda dalam Array Sedangkan Data Ganda Lainnya Ditampilkan

Pada kesempatan ini kami akan berbagi tip yang sebenarnya merupakan kebalikan dari postingan yang telah dibahas sebelumnya yaitu Cara Menampilkan Data Ganda dalam Array Sedangkan Data Ganda Lainnya Dihapus yang mana dengan contoh data ganda pada array yang sama yaitu Bajigur, Hui, dan Suuk yang kini akan dihapus sedangkan data ganda yang lainnya masih tetap ditampilkan dalam worksheet.

Gambar1

Gambar1 adalah contoh tabel data yang sama seperti pada postingan sebelumnya dan Gambar2 di bawah ini merupakan hasil akhir setelah macro dijalankan.

Gambar2

Untuk menyusun kode macro, silakan Anda ikuti langkah demi langkah berikut ini:

1. Siapkan worksheet yang berisi data ganda atau Anda bisa menyalin data contoh seperti pada gambar1.

2. Buka VBE dengan menekan Alt+F11.

3. Buat module melalui menu Insert > Module.

4. Tetapkan judul macro misalnya HapuskanDataGandaArray:

Sub HapuskanDataGandaArray()

5. Matikan terlebih dahulu ScreenUpdating agar macro berjalan cepat dan lancar:

Application.ScreenUpdating = False

6. Tetapkan variabel berjenis data Long dan Range:

Dim bt As Long, bs As Range

7. Tetapkan barisan sel dinamis dari variabel Long untuk baris terakhir:

bt = Cells(Rows.Count, 1).End(xlUp).Row

8. Tetapkan barisan sel:

Set bs = Range("B2:B" & bt)

9. Tetapkan variabel dalam contoh daftar jajanan dan daftar nama dimana keduanya berjenis data Variant:

Dim df As Variant, nm As Variant

10. Masukkan daftar jajanan ke dalam array:

df = Array("Bajigur", "Hui", "Suuk")

11. Gunakan loop susunan For Each...Next untuk setiap nama dalam daftar nama:

For Each nm In df

12. Ganti nama yang semula tulisan menjadi dikosongkan:

bs.Replace What:=nm, Replacement:="", LookAt:=xlWhole

13. Lanjutkan proses loop:

Next nm

14. Lakukan bypass pada Error:

On Error Resume Next

15. Hapus semua baris tersaring yang kosong:

bs.SpecialCells(xlCellTypeBlanks).EntireRow.Delete

16. Hapus objek Error barangkali terjadi run time error:

Err.Clear

17. Hapus objek variabel barisan sel untuk memulihkan kembali memori sistem:

Set bs = Nothing

18. Hidupkan kembali ScreenUpdating:

Application.ScreenUpdating = True

19. Susunan kode secara lengkap menjadi sebagai berikut:

Sub HapuskanDataGandaArray()
Application.ScreenUpdating = False
Dim bt As Long, bs As Range
bt = Cells(Rows.Count, 1).End(xlUp).Row
Set bs = Range("B2:B" & bt)
Dim df As Variant, nm As Variant
df = Array("Bajigur", "Hui", "Suuk")
For Each nm In df
bs.Replace What:=nm, Replacement:="", LookAt:=xlWhole
Next nm
On Error Resume Next
bs.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Err.Clear
Set bs = Nothing
Application.ScreenUpdating = True
End Sub

20. Buka kembali worksheet dengan menekan Alt+Q

21. Buka kotak dialog Macro dengan cara menekan Alt+F8 lalu pilih HapuskanDataGandaArray dan klik Run.

Itulah penjelasan tentang bagaimana cara menghapus data ganda yang tercatat dalam suatu array sedangkan data ganda lainnya tetap ditampilkan di worksheet.

Selamat mencoba dan semoga bermanfaat.