Vba: jak wyróżnić pierwsze n wartości w kolumnie
Możesz użyć następującej składni w VBA, aby podświetlić pierwsze N wartości kolumny w Excelu:
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
To konkretne makro podświetli 3 najwyższe wartości z zakresu A2:A11 .
Aby wyróżnić inną liczbę górnych wartości, po prostu edytuj wiersz For i = 1 To 3, aby ustawić inny górny limit.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Podświetl pierwsze N wartości w kolumnie za pomocą VBA
Załóżmy, że w kolumnie A naszego arkusza kalkulacyjnego Excel mamy następujące wartości:
Możemy utworzyć następujące makro, aby podświetlić pierwsze 3 największe wartości z zakresu 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
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zauważ, że komórki zawierające 3 najwyższe wartości w kolumnie A są teraz podświetlone.
Pamiętaj, że możesz także zmienić kolor podświetlania, a także liczbę głównych wartości do wyróżnienia.
Przykładowo możemy użyć poniższego makra, aby podświetlić na zielono pierwsze 5 wartości w kolumnie 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
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zauważ, że komórki zawierające 5 najwyższych wartości w kolumnie A są teraz podświetlone na zielono.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak zastosować formatowanie warunkowe do komórek
VBA: Jak zastosować formatowanie warunkowe do zduplikowanych wartości
VBA: Jak znaleźć wartość w kolumnie