Excel VBA - Widok Ukryj określone wiersze w zależności od wartości w innym wierszu

0

Walczyłem, aby spróbować czegoś do pracy i mieć nadzieję, że ktoś wpadnie na pomysł.

Jeśli C5 ma wartość I Need Rows 6, 106 and 107, aby stać się widocznymi. Następnie potrzebuję go, aby sprawdzić, czy C6 ma wartość, a jeśli tak, to czy następny wiersz będzie widoczny i tak dalej, aż osiągnie wiersz 106.

Wszystko to zostanie uruchomione w prywatnym arkuszu podrzędnym_Zmień (cel ByVal jako zakres).

Mam nadzieję, że to ma sens, ponieważ każda pomoc byłaby bardzo mile widziana.

Dzięki

Drew

Drew
źródło
więc jeśli komórka w kolumnie c otrzyma wartość, zobacz wiersz poniżej?
Scott Craner

Odpowiedzi:

0

Pozwoli to odkryć trzy wiersze zmieniające się w C5, a następnie odkryć następny wiersz jako zmiany C:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("C5"), Target) Is Nothing Then
    Rows(6).Hidden = Target.Value = ""
    Rows("106:107").Hidden = Target.Value = ""

End If
If Not Intersect(Range("C6:C105"), Target) Is Nothing Then
    Rows(Target.Row + 1).Hidden = Target.Value = ""
End If


End Sub
Scott Craner
źródło
Dzięki, próbowałem tego, ale nic się nie dzieje?
Drew
czy twoje rzędy są już ukryte? Czy umieściłeś kod w arkuszu kodu arkusza? Nie ukrywa to wierszy, ale zakłada, że ​​wiersze są już ukryte.
Scott Craner
Dzięki, głupi moment umieścił go pod niewłaściwym arkuszem. drugie pytanie, jak mogę to zrobić, jeśli komórka jest pusta, że ​​ukrywa rząd?
Drew
więc jeśli usuwają wartość ukrywa pod nią wiersz, czy chcesz iterować kolumnę ukrywającą wszystkie wiersze, które nie mają wartości?
Scott Craner
tak, więc jeśli c6 jest puste, ukryj wiersz 7. również jeśli c5 jest pusty ukryj wiersze 6, 106 i 107.
Drew