Događaji u radnoj knjizi - ne spremajte s zamrzivačima - primjeri VBA koda

Zamrznite okna pomoću VBA

Nedavno sam objavio na oknima za zamrzavanje u Excelu, evo kako to možete učiniti pomoću VBA:

Zamrzni redove

 Redci ("1: 1"). Odaberite ActiveWindow.FreezePanes = True 

Zamrzni stupce

 Raspon ("A: A"). Odaberite ActiveWindow.FreezePanes = True

Zamrzni redove i stupce

 Raspon ("B2"). Odaberite ActiveWindow.FreezePanes = True

Odmrznite okna

 ActiveWindow.FreezePanes = Netačno 

Prisilite radnu knjigu u spremanje bez okvira za zamrzavanje

Excel nam omogućuje kontrolu stvari putem događaja. Ovaj članak nije detaljna rasprava o tome što su događaji ili njihove značajke. Umjesto toga daje primjer događaja radne knjige. To su događaji koji se održavaju na razini radne bilježnice, a ne na određenom radnom listu.

Putem VBA -e možemo kontrolirati što se događa na određenim događajima, primjerice prije ispisa ili prije spremanja. Jedan od uobičajenih problema s kojima se suočavam je to što određeni broj ljudi s kojima radim ne voli datoteke sa zamrznutim okvirima.

Stoga ćemo u ovom članku sastaviti neki kôd koji će provjeriti jesu li zamrznuta okna uključena i ako je tako, neće spremiti datoteku. To znači da ga moram spremiti bez okvira za zamrzavanje - usrećujući svoje kolege !!

Najvažnija stvar u vezi s radnim bilježnicama je da ih treba spremiti na pravo mjesto - na razini radne knjige.

Za pristup razini radne knjige slijedite korake u nastavku:

1. Desnom tipkom miša kliknite radnu knjigu programa Excel - pogledajte kôd:

2. Ovo će prikazati:

3. Dvaput kliknite na “This Workbook”, a zatim odaberite “WorkBook” iz prvog padajućeg izbornika s lijeve strane:

Vidimo da se vrijednost s lijeve strane sada promijenila u "Otvoreno" - s nekim kodom za događaj otvaranja radne knjige. Ovaj kôd će nam omogućiti da utvrdimo što se događa kada se radna knjiga prvi put otvori.

Međutim, želimo kontrolirati što se događa kada spremimo radnu knjigu. Stoga promijenite desni padajući izbornik na "Prije spremanja". Ekran će sada izgledati ovako:

Sada unosimo sljedeći kôd nakon deklaracije:

Ako je ActiveWindow.FreezePanes = Istina, tada je MsgBox "Zamrzni okna uključena - Datoteka NIJE SPREMLJENA" Odustani = Istina Kraj Ako

Tako da cijeli kôd sada izgleda ovako:

Private Sub Workbook_BeforeSave (ByVal SaveAsUI kao Boolean, Otkaži kao Boolean) Ako je ActiveWindow.FreezePanes = True Tada je MsgBox "Zamrzni okna uključena - Datoteka se NE SAVAŠAVA" Odustani = True End Ako završi Sub

Sada spremite datoteku i zatim aktivirajte Zamrzni okna u bilo kojem prozoru. Zatim - SPASI datoteku. Pojavit će se okvir s porukama u kojem se navodi da je "Freeze Panes" uključeno - a datoteka nije spremljena.

Datoteka se doista neće spremiti sve dok se ne uklone Freeze Panes.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave