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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *