Excel - Bandingkan dua kolom dan hapus duplikat
- Isu
- Larutan
- Catatan
Isu
Saya memerlukan makro untuk spreadsheet Excel yang akan membandingkan garis berdasarkan dua sel, dan menemukan duplikat.
Dalam contoh ini, dua kolom pertama - A dan B - adalah yang harus unik. Makro seharusnya hanya menandai baris yang sangat cocok di kedua kolom. Jadi dalam contoh ini, hanya baris kelima yang harus ditandai, karena cocok dengan yang di atas.
Contoh:
Col A Col B C Col D 00001 AAAA1 xxxx yyyy 00001 BBBB1 xxxx xxxx 00001 BBBB2 yyyy yyyy 00002 AAAA1 yyyy xxxx 00002 AAAA1 yyyy xxxx 00003 AAAA1 xxxx yyyy
Larutan
Solusi ini akan mengubah data dalam spreadsheet Anda, jadi pastikan Anda menyimpan salinan cadangan.
Pertama, Anda perlu menggabungkan data dalam kolom A dan B sehingga dapat dibandingkan secara keseluruhan. Untuk melakukannya, ketik sel kosong di akhir baris pertama data (dalam contoh ini kita menggunakan baris 2 - ubah seperlunya):
= A2 & B2
Salin rumus ini ke bawah untuk seluruh spreadsheet.
Sekarang jalankan makro di bawah ini. Dalam kode sampel ini, diasumsikan Anda menulis rumus di atas di kolom E. Ubah kode sesuai kebutuhan.
Peringatan: Makro ini akan menghapus baris, jadi penting untuk memastikan Anda telah membuat salinan cadangan sebelum mengujinya.
Sub teks () Dim j Sebagai Integer, k Sebagai Integer, r Sebagai Rentang j = Rentang ("E2"). Akhir (xlDown) .Row Untuk k = j Ke 2 Langkah -1 MsgBox k Set r = Rentang (Sel (k, "E"), Cells (k, "E"). End (xlUp)) Jika WorksheetFunction.CountIf (r, Cells (k, "E"))> 1 Lalu Cells (k, "E") .RowRow. Hapus Akhiri Jika Selanjutnya k Akhiri Sub
Catatan
Berkat venkat1926 untuk tip ini di forum.