
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 :
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 iBaris 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 WithBaris 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
download
Terimakasih sudah membaca
Tutorial: Menyalin Data Duplikat Dalam Lembar Kerja Excel Dengan Macro VBA
Labels: Macro VBA - Author: excelive
Tutorial: Menyalin Data Duplikat Dalam Lembar Kerja Excel Dengan Macro VBA
Labels: Macro VBA - Author: excelive
Masih mau belajar lagi !
Yuk, klik tautan berikut ini :