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 To 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.

لاحظ أنه يمكنك أيضًا تغيير اللون الذي سيتم استخدامه للتظليل بالإضافة إلى عدد القيم الأساسية المطلوب تمييزها.

على سبيل المثال، يمكننا استخدام الماكرو التالي لتمييز القيم الخمس الأولى في العمود 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: كيفية تطبيق التنسيق الشرطي على القيم المكررة
فبا: كيفية العثور على القيمة في عمود

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *