„Excel“ - sąlyginės paslėpti eilutes keliuose lapuose

Problema

Turiu vieną „Excel“ failą su keliais lapais ir visus juos turinčius tuos pačius stulpelius ir eilutes. Kiekvienoje lape turiu paslėpti konkrečias eilutes (visų eilių eilės numerius), jei konkretaus elemento reikšmė yra nulis.

Taigi, kaip aš galiu tai padaryti VB ir automatiškai atnaujinti, kai pakeisite ankstesniame nurodyto langelio vertę.

ty: aš turiu 10 lapų dešimčiai darbuotojų ir kiekviename lape turiu šiuos duomenis:

 A1 = Darbuotojo vardas A2 = Amžius, A4 = Atlyginimas, B4 = 4000 (visos sumos (vertės) kiekviename lape skirsis) A5 = Atskaitos, B5 = 500 A6 = Draudimas, B6 = 1000 A8 = Grynasis atlyginimas, B8 = 2500 A10 = sumokėta čekiu A11 = mokama pervedimu, B11 = 2500 A13 = iš viso, B13 = 2500 

Mano reikalavimas yra paslėpti kiekvieną eilutę, kurioje B stulpelyje yra nulis, visuose 10 lapų. Žinoma, visų lapų vertė yra paimta iš vieno pagrindinio lapo, taigi, jei pakeistose šeimyniniuose lapuose vertė pasikeitė, ji bus pakeista ir kiekviename korespondente 10 lapų.

Pastaba: nereikia filtruoti vertybių.

Trumpai noriu parašyti makrokomandą, kad paslėptumėte visas eilutes (nurodytas), kurios B stulpelyje yra nulinės, ir bus taikomos 10 lapų, kuriuose yra tos pačios eilutės ir stulpeliai.

Sprendimas

  • Atidarykite VBE
  • Spustelėkite savo pagrindinį lapą
  • Įklijuokite šį kodą:

 Private Sub Worksheet_Change (ByVal Target As Range) Dim bHide As Boolean Jei Target.Column 2 Tada Exit Sub bHide = True If (CStr (Target) "0") Tada bHide = False Už kiekvieną lapą lapuose Jei Sheet.Name = ActiveSheet. Pavadinimas Tada GoTo Next_Sheet Sheets (Sheet.Name) .Rows (Target.Row) .Hidden = bHide Next_Sheet: Next End Sub 

Pastaba

Ačiū rizvisa1 už šį patarimą forume.

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai