Excel - Primijenite VBA kod na više listova
Problem
Imam Excel datoteku za plaću. Ova datoteka sadrži 200 listova za svakog zaposlenika.
Imam sljedeći VBA kod.
Privatni pod radni list_Promjena (ByVal Target As Range) Ako je Target.Address "$ C $ 9" Zatim izađite iz Sub ako Target = "seconded" Onda Range ("a12"). EntireRow.Hidden = True Range ("a14"). EntireRow.Hidden = Istinski drugi raspon ("a12"). EntireRow.Hidden = False Range ("a14"). EntireRow.Hidden = False End ako završi
Moram staviti / napisati ovaj kod samo jednom raditi za svih 200 listova inače moram kopirati i zalijepiti u svaki od 200 listova.
Riješenje
Čini mi se da ne želite primijeniti kod na jedan list već na cijelu radnu knjigu.
Stoga dvaput kliknite na ThisWorkbook ispod listova u VB i zalijepite svoj kod kao:
Privatni pod Workbook_SheetChange (ByVal Sh kao objekt, ByVal cilj kao raspon) Ako Target.Address "$ C $ 9" Zatim Izlaz Sub Ako Target = "sekundarni" Onda Range ("a12"). EntireRow.Hidden = True Range ("a14") ) .EntireRow.Hidden = Istinski drugi raspon ("a12"). EntireRow.Hidden = False Range ("a14"). EntireRow.Hidden = False End If End Sub
Zahvaljujući TrowaD-u na ovom savjetu.