Excel - Bandingkan dua kolom dan hapus duplikat

Operasi matematika atau logis tidak dapat dilakukan secara manual di lembar kerja Excel yang berisi data dalam jumlah besar, karena akan terlalu lama. Tetapi Excel adalah program perangkat lunak perkantoran yang efisien yang memungkinkan data dimanipulasi secara otomatis, melalui kode program makro atau VBA. Untuk membandingkan dua kolom dan menghapus duplikat di Excel, makro dapat ditulis untuk membuat perbandingan kolom yang logis atau matematis dan hapus baris yang berisi data duplikat. Makro Excel yang ditulis dengan baik dapat menyelesaikan tugas dengan cepat dan akurat. Sangat mudah untuk membandingkan dua kolom dan menghapus duplikat di Excel.

  • 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.

Artikel Sebelumnya Artikel Berikutnya

Tips