Vba: como ocultar linhas com base em critérios
Você pode usar a seguinte sintaxe no VBA para ocultar linhas com base em um valor de célula:
SubHideRows ()
Dim i As Integer
For i = 2 To 10
If Cells(i, 1).Value = " Mavs " Then
Cells(i, 1).EntireRow.Hidden = True
Else
Cells(i, 1).EntireRow.Hidden = False
End If
Next i
End Sub
Esta macro específica oculta todas as linhas no intervalo de 2 a 10 que possuem um valor de célula igual a “Mavs” na primeira coluna.
Você também pode usar a seguinte macro para exibir todas as linhas:
SubUnhideRows ()
Rows.EntireRow.Hidden = False
End Sub
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: use VBA para ocultar linhas com base em critérios
Suponha que temos o seguinte conjunto de dados contendo informações sobre vários jogadores de basquete:
Digamos que queremos ocultar todas as linhas que contêm “Mavs” na coluna da equipe.
Podemos criar a seguinte macro para fazer isso:
SubHideRows ()
Dim i As Integer
For i = 2 To 10
If Cells(i, 1).Value = " Mavs " Then
Cells(i, 1).EntireRow.Hidden = True
Else
Cells(i, 1).EntireRow.Hidden = False
End If
Next i
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
Observe que todas as linhas contendo “Mavs” na coluna da equipe foram ocultadas.
Se quisermos, podemos criar a seguinte macro para exibir todas as linhas:
SubUnhideRows ()
Rows.EntireRow.Hidden = False
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
Observe que todas as linhas são exibidas novamente.
Observe que em nossa macro especificamos For i = 2 To 10 para ocultar linhas entre 2 e 10 com base em critérios.
Sinta-se à vontade para alterar esses valores iniciais e finais para ocultar as linhas em um intervalo de linhas diferente.
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 contar o número de linhas no intervalo
VBA: Como contar células com texto específico