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.