Vba: วิธีเน้นค่า n แรกในคอลัมน์


คุณสามารถใช้ไวยากรณ์ต่อไปนี้ใน VBA เพื่อเน้นค่า N แรกของคอลัมน์ใน Excel:

 SubHighlightTopN ()

    Dim rng As Range
    Dim EntireRange As Range
    
    'specify range to use
    Set EntireRange = Range(" A2:A11 ")
    
    'highlight top 3 values in range
    For Each rng In EntireRange
        
        For i = 1 To 3
        
        If rng.Value = WorksheetFunction.Large(EntireRange, i) Then
        rng.Interior.Color = vbYellow
        End If
        Next
    
    Next rng

End Sub

มาโครนี้จะเน้นค่าสูงสุด 3 ค่าในช่วง A2:A11

หากต้องการเน้นจำนวนค่าบนที่แตกต่างกัน เพียงแก้ไขบรรทัด For i = 1 ถึง 3 เพื่อให้มีขีดจำกัดบนที่แตกต่างกัน

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: เน้นค่า N แรกในคอลัมน์โดยใช้ VBA

สมมติว่าเรามีค่าต่อไปนี้ในคอลัมน์ A ของสเปรดชีต Excel ของเรา:

เราสามารถสร้างมาโครต่อไปนี้เพื่อเน้นค่าสูงสุด 3 ค่าแรกสุดในช่วง A2:A11 :

 SubHighlightTopN ()

    Dim rng As Range
    Dim EntireRange As Range
    
    'specify range to use
    Set EntireRange = Range(" A2:A11 ")
    
    'highlight top 3 values in range
    For Each rng In EntireRange
        
        For i = 1 To 3
        
        If rng.Value = WorksheetFunction.Large(EntireRange, i) Then
        rng.Interior.Color = vbYellow
        End If
        Next
    
    Next rng

End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

VBA เน้นค่า N แรกในคอลัมน์

โปรดสังเกตว่าเซลล์ที่มีค่าสูงสุด 3 ค่าสูงสุดในคอลัมน์ A จะถูกไฮไลต์แล้ว

โปรดทราบว่าคุณยังสามารถเปลี่ยนสีที่จะใช้สำหรับการไฮไลต์รวมถึงจำนวนค่าหลักที่จะไฮไลต์ได้ด้วย

ตัวอย่างเช่น เราสามารถใช้มาโครต่อไปนี้เพื่อไฮไลต์ 5 ค่าแรกในคอลัมน์ A เป็นสีเขียว:

 SubHighlightTopN ()

    Dim rng As Range
    Dim EntireRange As Range
    
    'specify range to use
    Set EntireRange = Range(" A2:A11 ")
    
    'highlight top 5 values in range
    For Each rng In EntireRange
        
        For i = 1 To 5
        
        If rng.Value = WorksheetFunction.Large(EntireRange, i) Then
        rng.Interior.Color = vbGreen
        End If
        Next
    
    Next rng

End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดสังเกตว่าเซลล์ที่มีค่าสูงสุด 5 ค่าในคอลัมน์ A จะถูกเน้นด้วยสีเขียว

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีใช้การจัดรูปแบบตามเงื่อนไขกับเซลล์
VBA: วิธีใช้การจัดรูปแบบตามเงื่อนไขกับค่าที่ซ้ำกัน
VBA: วิธีค้นหาค่าในคอลัมน์

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

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