Menyalin Data Duplikat Dalam Lembar Kerja Excel Dengan Macro VBA

menyalin data duplikat

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 dari tutorial ini bisa Anda download melalui tautan berikut:
download


Tidak ada komentar:
Write komentar

Our Services


design

all the design of each tutorial has passed the test for excel 2007 up

installation

every each codes on this site are provided "as is" and are easy to install

youtube

in order to facilitate you in learning excel, you can visit our channel here

download

to complete all excel lessons, we have provided a download link for you

Interested for our works and services?
Get more of our update !