Excel - warunkowe ukrywanie wierszy w wielu arkuszach

Kwestia

Mam jeden plik programu Excel z wieloma arkuszami i wszystkie z tymi samymi kolumnami i wierszami. Muszę ukryć określone wiersze w każdym arkuszu (te same numery wierszy dla wszystkich arkuszy), jeśli wartość jest równa zero w określonej komórce.

Jak mogę to zrobić w VB i automatycznie zaktualizować po zmianie wartości w poprzedniej określonej komórce.

tj .: mam 10 arkuszy dla dziesięciu pracowników i na każdym arkuszu mam następujące dane:

 A1 = Nazwa pracownika A2 = Wiek, A4 = Wynagrodzenie, B4 = 4000 (wszystkie kwoty (wartości) różnią się w każdym arkuszu) A5 = Odliczenia, B5 = 500 A6 = Ubezpieczenie, B6 = 1000 A8 = Wynagrodzenie netto, B8 = 2500 A10 = Płatny czekiem A11 = Płatny przelewem, B11 = 2500 A13 = Razem, B13 = 2500 

Moim wymaganiem jest ukrycie każdego wiersza, który ma zero w kolumnie B we wszystkich 10 arkuszach. Oczywiście wartość wszystkich arkuszy jest pobierana z jednego arkusza głównego, więc jeśli wartość w arkuszu głównym uległa zmianie, zostanie zmieniona również w 10 arkuszach na każdego korespondenta.

Uwaga: nie muszę filtrować wartości.

W skrócie chcę napisać makro, aby ukryć wszystkie wiersze (określone), które mają zero w kolumnie B, i zastosować je na 10 arkuszach, które mają te same wiersze i kolumny.

Rozwiązanie

  • Otwórz VBE
  • Kliknij swój arkusz główny
  • Wklej ten kod:

 Private Sub Worksheet_Change (ByVal Target As Range) Dim bHide As Boolean Jeśli Target.Kolumna 2 Następnie wyjdź Sub bHide = True If (CStr (Target) „0”) Następnie bHide = Fałsz dla każdego arkusza w arkuszach Jeśli Sheet.Name = ActiveSheet. Name Then GoTo Next_Sheet Sheets (Sheet.Name) .Rows (Target.Row) .Hidden = bHide Next_Sheet: Next End Sub 

Uwaga

Dziękujemy rizvisa1 za tę poradę na forum.

Poprzedni Artykuł Następny Artykuł

Najważniejsze Wskazówki