Skip to content Skip to sidebar Skip to footer

Cara Menampilkan Data Ganda dalam Array Sedangkan Data Ganda Lainnya Dihapus

Kami akan berbagi tip menampilkan data ganda yang tercatat dalam suatu array dan data ganda selainnya dihapus seperti yang ditunjukkan contoh worksheet berisi tabel data dalam gambar di bawah ini.

Gambar1

Dalam kode macro, sebagai contoh kami telah mencatat tiga buah data di dalam array yaitu Bajigur, Hui, dan Suuk agar ditampilkan pada kolom B, sementara baris data lainnya dihapus sehingga hasil akhirnya ditunjukkan seperti pada gambar di bawah ini.

Gambar2

Silakan Anda mengikuti langkah-langkah berikut:

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 TampilkanDataGandaArray:

Sub TampilkanDataGandaArray()

5. Matikan ScreenUpdating:

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. Tandai dan ganti nama yang semula tulisan menjadi tanda simbol:

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

13. Lanjutkan proses loop:

Next nm

14. Gunakan alat AutoFilter pada kolom bantu untuk tanda:

bs.AutoFilter Field:=1, Criteria1:="<>*|"

15. Lakukan bypass pada Error:

On Error Resume Next

16. Hapus semua baris tersaring yang tampil:

bs.SpecialCells(xlCellTypeVisible).EntireRow.Delete

17. Hapus objek Error barangkali terjadi run time error:

Err.Clear

18. Hilangkan tanda "|":

bs.Replace What:="|", Replacement:="", LookAt:=xlPart

19. Hapus objek variabel barisan sel untuk memulihkan kembali memori sistem

Set bs = Nothing

20. Hentikan penggunaan AutoFilter:

ActiveSheet.AutoFilterMode = False

21. Hidupkan kembali ScreenUpdating:

Application.ScreenUpdating = True

22. Berikut ini susunan kode macro lengkapnya:

Sub TampilkanDataGandaArray()
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:=nm & "|", LookAt:=xlWhole
Next nm
bs.AutoFilter Field:=1, Criteria1:="<>*|"
On Error Resume Next
bs.SpecialCells(xlCellTypeVisible).EntireRow.Delete
Err.Clear
bs.Replace What:="|", Replacement:="", LookAt:=xlPart
Set bs = Nothing
ActiveSheet.AutoFilterMode = False
Application.ScreenUpdating = True
End Sub

23. Buka kembali worksheet dengan menekan Alt+Q

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

Itulah penjelasan tentang bagaimana cara menampilkan data ganda yang tercatat dalam suatu array sedangkan data ganda lainnya dihapus.

Selamat mencoba dan semoga bermanfaat.