001-234-567-8910

5th Avenue Madson, NY758, USA

Get Update on our recent Gadgets & Tabs

Menyalin Data Duplikat Dalam Lembar Kerja Excel Dengan Macro VBA

Salah satu kelebihan dari Microsoft Excel adalah kemampuannya dalam memasukkan data hampir sekitar 1 juta (secara vertikal atau berdasarkan baris), yang ini tentunya asangat berpotensi menghasilkan nilai ganda atau duplikat atau nama lainnya adalah dobel....hehehe

Memang dalam aplikasi Microsoft Excel sudah menyediakan sebuah fitur untuk mencegah pengguna dalam mengentry atau memasukkan data agar tidak sama antar satu dengan yang lainnya, yang mana hal ini bisa dilakukan salah satunya dengan menggunakan Conditional Formatting atau Data Validation.

Dalam artikel kali ini, excelive tidak akan membahas bagaimana cara mencegah data ganda atau memaksa pengguna agar tidak bisa memasukkan data ganda karena saya yakin tutorial semacam ini sudah banyak yang membahasnya.
Tujuan dari tutorial ini adalah menyalin data duplikat dari sekumpulan data-data yang sudah ada menggunakan Macro VBA, jadi pastikan jendela Microsoft Visual Basic Editor sudah dalam posisi aktif atau terbuka. Untuk lebih jelasnya, silahkan lihat tutorial ini.

Sebagai contoh, lihat sekumpulan data (berisi data ganda) berikut :
Data Duplikat

Dari sekumpulan data-data diatas, yang sama diwarnai dengan warna merah adalah data yang sama (duplikat).

Untuk mencari data duplikat, maka yang terlebih dahulu dilakukan adalah membuat sebuah module dengan isi seperti berikut :
on error resume next
Dim SelAwal As Range, duplikat As Object, hasil_duplikat As Object
Dim Data_Duplikat As Variant, i As Long, j As Long

Set duplikat = CreateObject("Scripting.Dictionary")
Set hasil_duplikat = CreateObject("Scripting.Dictionary")

Set SelAwal = [A3]

Data_Duplikat= SelAwal.CurrentRegion.Value
For i = LBound(Data_Duplikat, 1) To UBound(Data_Duplikat, 1)
If duplikat.Exists(Data_Duplikat(i, 1)) Then
hasil_duplikat(Data_Duplikat(i, 1)) = Empty
Else
duplikat(Data_Duplikat(i, 1)) = Empty
End If
Next i


Baris kode di atas berfungsi untuk mencari data yang sama atau ganda dari sekumpulan data yang sudah dibuat. Untuk tutorial ini, pembacaan diawali dari baris atau sel A3 (baris kode Set SelAwal = [A3]). Sementara untuk melihat data-data yang ada, menggunakan CurrentRegion untuk memudahkan pembacaan isi sel yang dimaksud. Untuk lebih jelasnya menggunakan Macro VBA CurrentRegion lihat disini.

Langkah terakhir adalah menyalin hasil data duplikat ke sel lain dan untuk melakukannya masih menggunakan bantuan Macro VBA, seperti berikut :
With [C3].Resize(hasil_duplikat.Count)
.Value = Application.Transpose(hasil_duplikat.keys)
.Sort key1:=.Cells(1), order1:=xlAscending
End With

Baris kode ini bertugas untuk menyalin hasil data ganda yang ditemukan dari kode sebelumnya, dengan spesifikasi sebagai berikut :
  • Menuliskan data ganda mulai dari sel C3
  • Hasil data ganda akan diurutkan dari yang terkecil
Hasil akhir dari serangkaian kode diatas untuk menyalin data ganda, ditampilkan dalam visualisai berikut :

No comments:
Write comments
Hallo, mau belajar excel. Di sini tempatnya. -
Tutorial Microsoft Excel

Join excelive newsletter now...