Vba: como destacar os primeiros n valores na coluna
Você pode usar a seguinte sintaxe no VBA para destacar os primeiros N valores de uma coluna no 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
Esta macro específica irá destacar os 3 valores mais altos no intervalo A2:A11 .
Para destacar um número diferente de valores superiores, basta editar a linha For i = 1 To 3 para ter um limite superior diferente.
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: destaque os primeiros N valores na coluna usando VBA
Suponha que temos os seguintes valores na coluna A da nossa planilha Excel:
Podemos criar a seguinte macro para destacar os 3 primeiros maiores valores do intervalo 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
Quando executamos esta macro, recebemos a seguinte saída:
Observe que as células que contêm os 3 valores mais altos na coluna A agora estão destacadas.
Observe que você também pode alterar a cor a ser usada para realçar, bem como o número de valores primários a serem destacados.
Por exemplo, podemos usar a seguinte macro para destacar os 5 primeiros valores da coluna A em verde:
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
Quando executamos esta macro, recebemos a seguinte saída:
Observe que as células contendo os 5 valores mais altos na coluna A agora estão destacadas em verde.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
VBA: Como aplicar formatação condicional às células
VBA: Como aplicar formatação condicional a valores duplicados
VBA: Como encontrar o valor em uma coluna