Munkafüzetes események - Ne mentse a Freeze Panes - VBA kódpéldák

Panelek befagyasztása VBA használatával

Nemrégiben közzétettem a Freezing panes alkalmazást az Excelben, a következőképpen teheti meg a VBA használatával:

Sorok befagyasztása

 Sorok ("1: 1"). Válassza az ActiveWindow.FreezePanes = True lehetőséget 

Oszlopok befagyasztása

 Tartomány ("A: A"). Válassza az ActiveWindow.FreezePanes = True értéket

Sorok és oszlopok befagyasztása

 Tartomány ("B2"). Válassza az ActiveWindow.FreezePanes = True értéket

Falak feloldása

 ActiveWindow.FreezePanes = Hamis 

Kényszerítse a munkafüzetet, hogy mentse a befagyasztási ablakokat

Az Excel lehetővé teszi, hogy eseményeken keresztül irányítsuk a dolgokat. Ez a cikk nem részletes vita arról, hogy mik az események vagy azok jellemzői. Ehelyett egy példát ad a WorkBook eseményre. Ezek olyan események, amelyeket a munkafüzet szintjén tartanak, nem pedig egy adott munkalapot.

A VBA segítségével szabályozhatjuk, hogy mi történik bizonyos eseményeken, például nyomtatás előtt vagy mentés előtt. Az egyik gyakori probléma, amellyel szembesülök, hogy számos ember, akikkel dolgozom, nem szereti a fájlokat, amelyeken Freeze Panes van.

Tehát ebben a cikkben összeállítunk néhány kódot, amely ellenőrzi, hogy a Freeze Panes be van -e kapcsolva, és ha igen, akkor nem menti a fájlt. Ez azt jelenti, hogy fagyasztás nélkül kell mentenem - kollégáimat boldognak tartva !!

A munkafüzet -eseményeknél az a legfontosabb, hogy azokat a megfelelő helyre - a munkafüzet szintjén - kell menteni.

A munkafüzet szintjének eléréséhez kövesse az alábbi lépéseket:

1. Kattintson jobb gombbal egy Excel -munkafüzetre - nézze meg a kódot:

2. Ez felhozza:

3. Kattintson duplán a „Ez a munkafüzet” elemre, majd válassza ki a „Munkafüzet” elemet a bal oldali első legördülő menüből:

Látjuk, hogy a bal oldali érték most „Megnyitás” -ra változott - néhány kóddal a munkafüzet nyitott eseményéhez. Ez a kód határozza meg, hogy mi történik a munkafüzet első megnyitásakor.

Szeretnénk azonban irányítani, hogy mi történjen a munkafüzet mentésekor. Tehát változtassa meg a jobb oldali legördülő menüt a „Mentés előtt” lehetőségre. A képernyő most így fog kinézni:

Most a következő kódot illesztjük be a nyilatkozat után:

Ha ActiveWindow.FreezePanes = Igaz, akkor az MsgBox "A panelek befagyasztása be van kapcsolva - a fájl nincs mentve" Mégse = Igaz vége, ha

Így a teljes kód most így néz ki:

Privát almunkafüzet_BeforeSave (ByVal SaveAsUI Booleanként, Mégsem Booleanként) Ha ActiveWindow.FreezePanes = True Akkor az MsgBox "Freeze Panes be van kapcsolva - a fájl NEM MENTETT" Mégse = True End If End Sub

Most mentse el a fájlt, majd aktiválja a Freeze Panes -t bármely ablakban. Ezután - Mentse a fájlt. Megjelenik egy üzenetküldő doboz, amelyben kijelenti, hogy a „Freeze Panes” be van kapcsolva - és a fájl nincs mentve.

Valójában a fájl nem mentődik, amíg a Freeze Panes eltávolításra nem kerül.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave