Vba: ใช้การจัดรูปแบบตามเงื่อนไขกับค่าที่ซ้ำกัน
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน VBA เพื่อใช้การจัดรูปแบบตามเงื่อนไขกับค่าที่ซ้ำกันในช่วงที่ระบุ:
Sub ConditionalFormatDuplicates()
Dim rg As Range
Dim uv As UniqueValues
'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")
'clear any existing conditional formatting
rg.FormatConditions.Delete
'identify duplicate values in range A2:A11
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate
'apply conditional formatting to duplicate values
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True
End Sub
ตัวอย่างเฉพาะนี้ใช้การจัดรูปแบบตามเงื่อนไขกับค่าที่ซ้ำกันในช่วง A2:A11 ของแผ่นงานปัจจุบันใน Excel
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: ใช้ VBA เพื่อใช้การจัดรูปแบบตามเงื่อนไขกับค่าที่ซ้ำกัน
สมมติว่าเรามีคอลัมน์ค่าต่อไปนี้ใน Excel:

สมมติว่าเราต้องการใช้การจัดรูปแบบตามเงื่อนไขต่อไปนี้กับค่าที่ซ้ำกันในคอลัมน์ A:
- พื้นหลังสีน้ำเงิน
- ข้อความสีดำ
- ข้อความตัวหนา
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub ConditionalFormatDuplicates()
Dim rg As Range
Dim uv As UniqueValues
'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")
'clear any existing conditional formatting
rg.FormatConditions.Delete
'identify duplicate values in range A2:A11
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate
'apply conditional formatting to duplicate values
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าการจัดรูปแบบตามเงื่อนไขจะใช้กับแต่ละเซลล์ในคอลัมน์ A ที่มีค่าซ้ำกัน
หากคุณต้องการใช้การจัดรูปแบบตามเงื่อนไขกับช่วงของเซลล์อื่น เพียงแทนที่ A2:A11 ในแมโครด้วยช่วงอื่น
นอกจากนี้ หากคุณต้องการลบการจัดรูปแบบตามเงื่อนไขทั้งหมดออกจากเซลล์ในชีตปัจจุบัน คุณสามารถสร้างแมโครต่อไปนี้ได้:
Sub RemoveConditionalFormatting()
ActiveSheet.Cells.FormatConditions.Delete
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าการจัดรูปแบบตามเงื่อนไขใดๆ ได้ถูกเอาออกจากเซลล์แล้ว
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีนับค่าที่ไม่ซ้ำในช่วง
VBA: วิธีนับเซลล์ด้วยข้อความเฉพาะ
VBA: วิธีเขียนฟังก์ชัน COUNTIF และ COUNTIFS