Vba: come nascondere le righe in base a criteri
È possibile utilizzare la seguente sintassi in VBA per nascondere le righe in base al valore di una cella:
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
Questa particolare macro nasconde tutte le righe comprese tra 2 e 10 che hanno un valore di cella uguale a “Mavs” nella prima colonna.
È inoltre possibile utilizzare la seguente macro per visualizzare tutte le righe:
SubUnhideRows ()
Rows.EntireRow.Hidden = False
End Sub
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: utilizzare VBA per nascondere le righe in base a criteri
Supponiamo di avere il seguente set di dati contenente informazioni su vari giocatori di basket:
Diciamo che vogliamo nascondere ogni riga che contiene “Mavs” nella colonna della squadra.
Per fare ciò possiamo creare la seguente macro:
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 eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che ogni riga contenente “Mavs” nella colonna della squadra è stata ora nascosta.
Se vogliamo, possiamo creare la seguente macro per visualizzare tutte le righe:
SubUnhideRows ()
Rows.EntireRow.Hidden = False
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che tutte le righe vengono nuovamente visualizzate.
Tieni presente che nella nostra macro abbiamo specificato For i = 2 To 10 per nascondere le righe tra 2 e 10 in base ai criteri.
Sentiti libero di modificare questi valori iniziali e finali per nascondere le righe in un intervallo di righe diverso.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come applicare la formattazione condizionale alle celle
VBA: come contare il numero di righe nell’intervallo
VBA: come contare le celle con testo specifico