Vba: hoe de eerste n-waarden in de kolom te markeren
U kunt de volgende syntaxis in VBA gebruiken om de eerste N-waarden van een kolom in Excel te markeren:
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
Deze specifieke macro zal de 3 hoogste waarden in het bereik A2:A11 benadrukken.
Om een ander aantal bovenwaarden te markeren, bewerkt u eenvoudigweg de regel For i = 1 To 3 om een andere bovengrens te krijgen.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Markeer de eerste N-waarden in de kolom met behulp van VBA
Stel dat we de volgende waarden in kolom A van ons Excel-spreadsheet hebben:
We kunnen de volgende macro maken om de eerste 3 grootste waarden in het bereik A2:A11 te markeren:
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
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Merk op dat de cellen met de 3 hoogste waarden in kolom A nu gemarkeerd zijn.
Houd er rekening mee dat u ook de kleur kunt wijzigen die u wilt gebruiken voor het markeren, evenals het aantal primaire waarden dat u wilt markeren.
We kunnen bijvoorbeeld de volgende macro gebruiken om de eerste 5 waarden in kolom A groen te markeren:
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
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Merk op dat de cellen met de 5 hoogste waarden in kolom A nu groen gemarkeerd zijn.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: voorwaardelijke opmaak op cellen toepassen
VBA: voorwaardelijke opmaak toepassen op dubbele waarden
VBA: hoe u de waarde in een kolom kunt vinden