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


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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.