VBA Buang Pendua

RemoveDuplicates dalam VBA Excel

Nilai pendua sering tidak diperlukan dalam excel terutamanya ketika anda ingin mempunyai nilai unik. Kami biasanya mempunyai sekumpulan data yang berbeza untuk digunakan dan kami melihat banyak nilai pendua di dalamnya.

Saya harap anda terbiasa membuang pendua dalam lembaran kerja excel, jika tidak perlu dibimbangkan, kami akan menunjukkan contoh mudah untuk anda. Di VBA juga kita dapat melakukan kaedah hapus pendua.

Jadi, Ia telah menghapus semua nilai pendua dari tajuk "Wilayah". Begitu juga, kita dapat melakukan tugas ini dengan bantuan kod VBA.

Bagaimana Mengeluarkan Nilai Pendua dalam Pengekodan VBA?

Untuk menghapus nilai pendua terlebih dahulu, kita perlu menyebutkan rentang yang kita maksudkan, kemudian kita dapat mengakses kaedah "Hapus Pendua". Jadi sintaks adalah seperti berikut.

[Lajur]: Lajur pilihan mana yang kita perlukan untuk membuang pendua? Kita perlu menyebut nombor lajur bagi julat yang dipilih.

[Header]: Julat yang anda pilih mempunyai tajuk atau tidak. Kami mempunyai tiga pilihan untuk bekerjasama di sini.

  • xlYa: Sekiranya data mempunyai tajuk maka anda boleh memilih ini.
  • xlNo: Sekiranya data tidak mempunyai tajuk maka anda boleh memilih ini.
  • xlGuess: Pilihan ini akan membolehkan excel meneka tajuk data.

Oleh itu, dengan menggunakan parameter ini, kita boleh membuang pendua dengan hanya satu klik butang tanpa keringat.

Di bahagian bawah saya akan menunjukkan kepada anda beberapa contoh untuk VBA membuang pendua. Ikuti langkah-langkah dengan teliti untuk menulis kod anda sendiri.

Contoh Hapus Nilai Pendua dalam Pengekodan VBA

Berikut adalah contoh Hapus Pendua dalam Nilai VBA.

VBA Dihapus - Contoh # 1

Pertimbangkan juga data di bawah untuk contoh ini.

Dari data di atas, kita perlu membuang pendua lajur "Wilayah" jadi ikuti langkah di bawah untuk menulis kod.

Langkah 1: Mulakan subproses dengan memberikan nama kod makro.

Langkah 2: Sebutkan julat data dengan menggunakan objek Rentang VBA .

Kod:

Sub Buang_Duplikat_Contoh1 () Julat ("A1: C9"). Sub Akhir

Langkah 3: Setelah menyebut kaedah capaian VBA " RemoveDuplicates ".

Kod:

 Sub Remove_Duplicates_Example1 () Julat ("A1: C9"). RemoveDuplicates End Sub 

Langkah 4: Argumen pertama di lajur mana kita perlu membuang nilai pendua. Dalam contoh ini dari lajur pertama, kita perlu membuang pendua.

Kod:

 Sub Remove_Duplicates_Example1 () Julat ("A1: C9"). RemoveDuplicates Column: = 1, End Sub 

Langkah 5: Perkara seterusnya ialah sama ada data mempunyai tajuk atau tidak. Dalam kes ini, kita memiliki tajuk jadi pilih "xlYa".

Kod:

 Sub Remove_Duplicates_Example1 () Julat ("A1: C9"). RemoveDuplicates Columns: = 1, Header: = xlYa End Sub 

Jalankan kod ini, VBA akan mengeluarkan pendua dari kawasan yang dipilih.

Ini adalah cara eksplisit untuk merujuk kepada julat sel. Sekiranya anda ingin memilih julat kami sendiri dan kemudian membuang pendua maka kami perlu menggunakan pemboleh ubah untuk bekerjasama. Dalam contoh di bawah ini saya akan menunjukkan kepada anda cara menggunakan pemboleh ubah dalam VBA.

VBA Dihapus - Contoh # 2

Dalam contoh di atas, kami secara khusus membekalkan rangkaian sel. Sekarang kita akan melihat bagaimana bekerja dengan pemilihan sel sendiri.

Sebagai contoh, saya mempunyai beberapa set data seperti yang ditunjukkan dalam gambar di bawah.

Setiap kali saya tidak dapat menentukan julat sel secara eksplisit, jadi kami akan menetapkan pemilihan sebagai julat.

Langkah 1: Nyatakan pemboleh ubah sebagai Julat .

Kod:

 Sub Buang_Duplikat_Contoh2 () Dim Rng Sebagai Julat Akhir Sub 

Langkah 2: Range adalah objek yang akan kita tetapkan range sebagai pilihan kita.

Kod:

 Sub Remove_Duplicates_Contoh2 () Dim Rng Sebagai Julat Set Rng = Seleksi Akhir Sel 

Langkah 3: Sekarang bukannya pelbagai sel, kita boleh menggunakan pemboleh ubah " rng "

Kod:

 Sub Remove_Duplicates_Example2 () Dim Rng Sebagai Range Set Rng = Selection Rng.RemoveDuplicates Columns: = 1, Header: = xlYa Sub Akhir 

Sebelum kita menjalankan kod, kita perlu memilih julat sel terlebih dahulu maka kita dapat membuang pendua dari julat sel yang dipilih.

VBA Buang Pendua dari Beberapa Lajur - Contoh # 3

Kami juga dapat menggunakan VBA untuk menghapus nilai pendua dari lajur excel juga. Untuk membuang beberapa lajur, kita perlu menggunakan Array dan menyebut nombor lajur.

Sebagai contoh, lihat gambar gambar contoh.

Kami mempunyai nilai pendua pada lajur pertama dan lajur keempat. Oleh itu, kami akan membuang dari lajur ini. Gunakan kod di bawah untuk VBA untuk membuang pendua.

Kod:

 Sub Remove_Duplicates_Example3 () Dim Rng As Range Set Rng = Range ("A1: D9") Rng.RemoveDuplicates Columns: = Array (1, 4), Header: = xlYa Sub Akhir 

You can download this VBA Remove Duplicates Excel here. VBA Remove Duplicates Excel Template