Saturday, May 7, 2011

Menghilangkan data ganda - duplikasi data pada MS Excel dengan Macro

Seringkali kita perlu membuat data yang unik, tidak ada duplikasi atau data ganda, di spreadsheet MS Excel. Jika data belum banyak maka dapat dilakukan dengan cepat secara manual, tetapi akan sangat menyisa waktu bila jumlah data ratusan apalagi ribuan sel.

Berikut ini adalah contoh program macro VB (Visual Basic) yang dapat melakukan tugas pensortiran dan menghilangkan duplikasi data. Cara memasukkan program macro di MS Excel dapat dilihat pada link ini http://nisura.blogspot.com/2011/05/mengatur-supaya-huruf-pertama-kapital.html

List dari macro VB:

Sub Sorting_Unik()
Dim i
ActiveSheet.Range("A:B").Sort Key1:=Cells(1, 1)
Start = True
i = 1
Do While Start
 s = UCase(Cells(i, 1).Value)
 t = UCase(Cells(i + 1, 1).Value)
 If s = t Then
  Duplikat = True
  Do While Duplikat
    Cells(i + 1, 1).Value = ""
    Cells(i + 1, 2).Value = ""
    i = i + 1
    t = UCase(Cells(i + 1, 1).Value)
    If s <> t Then Duplikat = False
  Loop
 End If
 If Cells(i + 2, 1).Value = "" Then Start = False
 i = i + 1
Loop
ActiveSheet.Range("A:B").Sort Key1:=Cells(1, 1)
End Sub


Ide program ini adalah dengan melakukan sorting data terlebih dahulu, kemudian isi sel pertama dibandingkan dengan sel berikutnya, jika tidak sama lanjut sel berikutnya, jika sama data di baris kedua dihapus dan dilalukan looping sampai tidak ada duplikat lagi di baris ketiga ... , kemudian loncat lagi ke sel selanjutnya sampai dengan data di sel terakhir yang dideteksi dengan sel yang kosong atau "". Setelah selesai dilakukan kembali sorting supaya data tersusun dengan rapi, tanpa ada sel yang kosong.



Hasilnya sbb:

Banyak duplikasi (data ganda) ==> data yang unik


(TangSel 6may11)