Vba: jak ukryć wiersze na podstawie kryteriów
Możesz użyć następującej składni w VBA, aby ukryć wiersze na podstawie wartości komórki:
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
To konkretne makro ukrywa wszystkie wiersze z zakresu od 2 do 10, które w pierwszej kolumnie mają wartość komórki równą „Mavs”.
Aby wyświetlić wszystkie wiersze, możesz także użyć poniższego makra:
SubUnhideRows ()
Rows.EntireRow.Hidden = False
End Sub
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: użyj VBA, aby ukryć wiersze na podstawie kryteriów
Załóżmy, że mamy następujący zbiór danych zawierający informacje o różnych koszykarzach:
Powiedzmy, że chcemy ukryć każdy wiersz zawierający „Mavs” w kolumnie zespołu.
W tym celu możemy utworzyć następujące makro:
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
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zauważ, że każdy wiersz zawierający „Mavs” w kolumnie zespołu został teraz ukryty.
Jeśli chcemy, możemy utworzyć następujące makro wyświetlające wszystkie wiersze:
SubUnhideRows ()
Rows.EntireRow.Hidden = False
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Należy pamiętać, że wszystkie linie zostaną ponownie wyświetlone.
Zauważ, że w naszym makrze określiliśmy For i = 2 To 10, aby ukryć wiersze od 2 do 10 w oparciu o kryteria.
Możesz zmienić te wartości początkowe i końcowe, aby ukryć wiersze w innym zakresie wierszy.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak zastosować formatowanie warunkowe do komórek
VBA: Jak policzyć liczbę wierszy w zakresie
VBA: Jak liczyć komórki zawierające określony tekst