Darbo knygos įvykiai - netaupykite naudodami „Freeze Panes“ - VBA kodo pavyzdžiai

Užšaldykite stiklus naudodami VBA

Neseniai paskelbiau „Excel“ užšaldymo langus, štai kaip galite tai padaryti naudodami VBA:

Įšaldyti eilutes

 Eilutės ("1: 1"). Pasirinkite ActiveWindow.FreezePanes = Tiesa 

Įšaldyti stulpelius

 Diapazonas ("A: A"). Pasirinkite ActiveWindow.FreezePanes = Tiesa

Įšaldykite eilutes ir stulpelius

 Diapazonas ("B2"). Pasirinkite ActiveWindow.FreezePanes = Tiesa

Stiklų atšaldymas

 ActiveWindow.FreezePanes = Netiesa 

Priverskite darbaknygę sutaupyti be užšalimo langų

„Excel“ leidžia mums valdyti dalykus per įvykius. Šis straipsnis nėra išsami diskusija apie tai, kas yra įvykiai ar jų ypatybės. Vietoj to pateikiamas darbaknygės įvykio pavyzdys. Tai renginiai, rengiami darbaknygės lygiu, o ne konkrečiu darbalapiu.

Per VBA galime kontroliuoti, kas vyksta tam tikrais įvykiais, pavyzdžiui, prieš spausdinant ar prieš išsaugojant. Viena dažna problema, su kuria susiduriu, yra ta, kad daugeliui žmonių, su kuriais dirbu, nepatinka failai su „Freeze Panes“.

Taigi šiame straipsnyje mes surinksime kodą, kuris patikrins, ar įjungta „Freeze Panes“, ir jei taip, jis neišsaugos failo. Tai reiškia, kad turiu jį išsaugoti be užšalimo - kad mano kolegos būtų laimingi !!

Svarbiausia, kad darbo knygos įvykiai būtų išsaugoti tinkamoje vietoje - darbaknygės lygiu.

Norėdami pasiekti darbaknygės lygį, atlikite šiuos veiksmus:

1. Dešiniuoju pelės mygtuku spustelėkite „Excel“ darbaknygę - peržiūrėkite kodą:

2. Tai parodys:

3. Dukart spustelėkite „Ši darbo knyga“, tada kairėje pusėje esančiame pirmajame išskleidžiamajame meniu pasirinkite „Darbaknygė“:

Matome, kad vertė kairėje pusėje dabar pasikeitė į „Atidaryti“ - su tam tikru darbaknygės atidarymo įvykio kodu. Šis kodas leis mums nustatyti, kas nutinka pirmą kartą atidarius darbaknygę.

Tačiau norime kontroliuoti, kas vyksta, kai išsaugome darbo knygą. Taigi pakeiskite dešinės rankos išskleidžiamąjį meniu į „Prieš išsaugodami“. Dabar ekranas atrodys taip:

Dabar po deklaracijos įterpiame šį kodą:

Jei „ActiveWindow.FreezePanes = True“, tada „MsgBox“ „Freeze Panes“ įjungta - failas neišsaugotas “Cancel = True End

Taigi visas kodas dabar atrodo taip:

Privatus antrinis darbaknygė_BeforeSave (ByVal SaveAsUI kaip loginis, atšaukti kaip loginis) Jei ActiveWindow.FreezePanes = tiesa Tada „MsgBox“ „Įšaldymo skydai įjungti - failas neišsaugotas“ Atšaukti = Tikroji pabaiga, jei pabaiga

Dabar išsaugokite failą ir tada suaktyvinkite „Freeze Panes“ bet kuriame lange. Tada - IŠSAUGOKITE failą. Pasirodys pranešimų dėžutė, kurioje teigiama, kad įjungta „Freeze Panes“ ir failas neišsaugomas.

Iš tikrųjų failas nebus išsaugotas, kol nepašalinsite „Freeze Panes“.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave