VBA ลบรายการที่ซ้ำกัน | วิธีการลบค่าที่ซ้ำกันใน Excel VBA

RemoveDuplicates ใน VBA Excel

ค่าที่ซ้ำกันมักไม่จำเป็นใน excel โดยเฉพาะอย่างยิ่งเมื่อคุณต้องการให้มีการนับค่าที่ไม่ซ้ำกัน โดยปกติเราจะมีชุดข้อมูลที่แตกต่างกันออกไปและเราจะเห็นค่าที่ซ้ำกันจำนวนมากในนั้น

ฉันหวังว่าคุณจะคุ้นเคยกับการลบรายการที่ซ้ำกันในแผ่นงาน excel หากไม่มีอะไรต้องกังวลเราจะแสดงตัวอย่างง่ายๆให้คุณ ใน VBA เช่นกันเราสามารถใช้วิธีลบรายการที่ซ้ำกันได้

ดังนั้นจึงได้ลบค่าที่ซ้ำกันทั้งหมดของส่วนหัว "ภูมิภาค" ในทำนองเดียวกันเราสามารถทำงานนี้ได้ด้วยความช่วยเหลือของรหัส VBA

วิธีลบค่าที่ซ้ำกันในการเข้ารหัส VBA

ในการลบค่าที่ซ้ำกันก่อนอื่นเราต้องพูดถึงช่วงที่เราอ้างถึงจากนั้นเราจึงสามารถเข้าถึงเมธอด“ Remove Duplicates” ได้ ไวยากรณ์จะเป็นดังนี้

[คอลัมน์]:คอลัมน์ใดในการเลือกที่เราต้องลบรายการที่ซ้ำกัน เราจำเป็นต้องพูดถึงหมายเลขคอลัมน์ของช่วงที่เลือก

[Header]:ช่วงที่คุณเลือกมีส่วนหัวหรือไม่ เรามีสามทางเลือกในการทำงานที่นี่

  • xl ได้:หากข้อมูลมีส่วนหัวคุณสามารถเลือกได้
  • xlNo:หากข้อมูลไม่มีส่วนหัวคุณสามารถเลือกได้
  • xlGuess:ตัวเลือกนี้จะช่วยให้ excel สามารถเดาส่วนหัวของข้อมูลได้

ดังนั้นการใช้พารามิเตอร์เหล่านี้เราสามารถลบรายการที่ซ้ำกันได้เพียงแค่คลิกปุ่มโดยไม่ทำให้เหงื่อออก

ในส่วนด้านล่างฉันจะแสดงตัวอย่างบางส่วนให้ VBA ลบรายการที่ซ้ำกัน ทำตามขั้นตอนอย่างระมัดระวังเพื่อเขียนโค้ดด้วยตัวคุณเอง

ตัวอย่างการลบค่าที่ซ้ำกันในการเข้ารหัส VBA

ด้านล่างนี้คือตัวอย่างของ Remove Duplicate in Values ​​VBA

VBA Removeduplicates - ตัวอย่าง # 1

พิจารณาข้อมูลด้านล่างสำหรับตัวอย่างนี้ด้วย

จากข้อมูลข้างต้นเราจำเป็นต้องลบคอลัมน์ "ภูมิภาค" ที่ซ้ำกันดังนั้นทำตามขั้นตอนด้านล่างเพื่อเขียนโค้ด

ขั้นตอนที่ 1:เริ่มกระบวนการย่อยโดยตั้งชื่อรหัสแมโคร

ขั้นตอนที่ 2:กล่าวถึงช่วงของข้อมูลโดยใช้ VBA ช่วงวัตถุ

รหัส:

Sub Remove_Duplicates_Example1 () ช่วง ("A1: C9") End Sub

ขั้นตอนที่ 3:หลังจากกล่าวถึงวิธีการเข้าถึงช่วง VBA“ RemoveDuplicates

รหัส:

 Sub Remove_Duplicates_Example1 () ช่วง ("A1: C9") RemoveDuplicates End Sub 

ขั้นตอนที่ 4:อาร์กิวเมนต์แรกในคอลัมน์ที่เราต้องลบค่าที่ซ้ำกัน ในตัวอย่างนี้จากคอลัมน์แรกเราจำเป็นต้องลบรายการที่ซ้ำกัน

รหัส:

 Sub Remove_Duplicates_Example1 () ช่วง ("A1: C9") คอลัมน์ RemoveDuplicates: = 1, End Sub 

ขั้นตอนที่ 5:สิ่งต่อไปคือข้อมูลมีส่วนหัวหรือไม่ ในกรณีนี้เรามีส่วนหัวให้เลือก“ xlYes”

รหัส:

 Sub Remove_Duplicates_Example1 () ช่วง ("A1: C9") RemoveDuplicates Columns: = 1, Header: = xl ใช่ End Sub 

เรียกใช้รหัสนี้ VBA จะลบรายการที่ซ้ำกันออกจากภูมิภาคที่เลือก

นี่เป็นวิธีที่ชัดเจนในการอ้างถึงช่วงของเซลล์ หากคุณต้องการเลือกช่วงด้วยตัวเราเองแล้วลบรายการที่ซ้ำกันเราจำเป็นต้องใช้ตัวแปรเพื่อทำงานด้วย ในตัวอย่างด้านล่างฉันจะแสดงวิธีใช้ตัวแปรใน VBA

VBA Removeduplicates - ตัวอย่าง # 2

ในตัวอย่างข้างต้นเราได้ระบุช่วงของเซลล์โดยเฉพาะ ตอนนี้เราจะดูวิธีการทำงานกับการเลือกเซลล์ของตัวเอง

ตัวอย่างเช่นฉันมีชุดข้อมูลสองสามชุดดังที่แสดงในภาพด้านล่าง

ทุกครั้งที่ฉันไม่สามารถระบุช่วงของเซลล์ได้อย่างชัดเจนดังนั้นเราจะกำหนดการเลือกเป็นช่วง

ขั้นตอนที่ 1:ประกาศตัวแปรเป็นช่วง

รหัส:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range End Sub 

ขั้นตอนที่ 2:ช่วงคือวัตถุที่เราจะกำหนดช่วงเป็นการเลือกของเรา

รหัส:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection End Sub 

ขั้นตอนที่ 3:ตอนนี้แทนที่จะเป็นช่วงของเซลล์เราสามารถใช้ตัวแปร“ rng ” ได้

รหัส:

 Sub Remove_Duplicates_Example2() Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns:=1, Header:=xlYes End Sub 

Before we run the code we need to select the range of cells first then we can remove duplicates from the selected range of cells.

VBA Remove Duplicates from Multiple Columns – Example #3

We can also use VBA to remove duplicate values from excel columns as well. In order to remove multiple columns, we need to use Array and mention the column numbers.

For example, look at the example data image.

We have duplicated values in the first column and fourth column. So we will remove from these columns. Use the below code to VBA to remove duplicates.

Code:

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

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