Vba: วิธีลบค่าที่ซ้ำกัน
คุณสามารถใช้วิธีการต่อไปนี้เพื่อลบค่าที่ซ้ำกันใน VBA:
วิธีที่ 1: ลบค่าที่ซ้ำกันตามคอลัมน์
Sub RemoveDuplicates()
Range(" A1:C11 ").RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
ตัวอย่างนี้จะลบแถวที่ซ้ำกันในช่วง A1:C11 ตามค่าที่ซ้ำกันในคอลัมน์แรกของช่วง
อาร์กิวเมนต์ Header:=xlYes ระบุว่าบรรทัดแรกในช่วงเป็นบรรทัดส่วนหัว และไม่ควรพิจารณาเมื่อตรวจสอบรายการที่ซ้ำกัน
วิธีที่ 2: ลบค่าที่ซ้ำกันตามหลายคอลัมน์
Sub RemoveDuplicates()
Range(" A1:C11 ").RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
End Sub
ตัวอย่างนี้จะลบแถวที่ซ้ำกันในช่วง A1:C11 ตามค่าที่ซ้ำกันในสองคอลัมน์แรกของช่วง
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับชุดข้อมูลต่อไปนี้ใน Excel:
ตัวอย่างที่ 1: ลบค่าที่ซ้ำกันตามคอลัมน์
เราสามารถสร้างมาโครต่อไปนี้เพื่อลบแถวที่มีค่าซ้ำกันในคอลัมน์แรก:
Sub RemoveDuplicates()
Range(" A1:C11 ").RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดทราบว่าทุกแถวที่มีค่าซ้ำกันในคอลัมน์แรกของชุดข้อมูลจะถูกลบออกแล้ว
ตัวอย่างที่ 2: ลบค่าที่ซ้ำกันตามหลายคอลัมน์
เราสามารถสร้างมาโครต่อไปนี้เพื่อลบแถวที่มีค่าซ้ำกันในสองคอลัมน์แรก:
Sub RemoveDuplicates()
Range(" A1:C11 ").RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดทราบว่าทุกแถวที่มีค่าซ้ำกันในสองคอลัมน์แรกของชุดข้อมูลจะถูกลบออกแล้ว
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี VBA RemoveDuplicates ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีเพิ่มค่าในช่วง
VBA: วิธีคำนวณค่าเฉลี่ยของช่วง
VBA: วิธีนับค่าที่ไม่ซ้ำในช่วง