Töövihiku sündmused - ärge salvestage külmutuspaneelidega - VBA koodi näited

Paneelide külmutamine VBA abil

Hiljuti postitasin Exceli paanide külmutamisele, kuidas seda VBA abil teha:

Ridade külmutamine

 Ridad ("1: 1"). Valige ActiveWindow.FreezePanes = Tõsi 

Külmuta veerud

 Vahemik ("A: A"). Valige ActiveWindow.FreezePanes = Tõsi

Külmutage read ja veerud

 Vahemik ("B2"). Valige ActiveWindow.FreezePanes = Tõsi

Klaaside vabastamine

 ActiveWindow.FreezePanes = Vale 

Sundida töövihik ilma külmutuspaneelideta kokku hoidma

Excel võimaldab meil sündmuste kaudu asju juhtida. See artikkel ei ole üksikasjalik arutelu sündmuste või nende omaduste üle. Selle asemel toob see näite töövihiku sündmusest. Need on üritused, mis toimuvad pigem töövihiku tasemel kui konkreetse töölehena.

VBA kaudu saame kontrollida, mis juhtub teatud sündmustel, näiteks enne printimist või enne salvestamist. Üks levinud probleem, millega ma silmitsi seisan, on see, et paljudele inimestele, kellega ma töötan, ei meeldi failid, millel on külmutuspaneelid.

Seega paneme selles artiklis kokku koodi, mis kontrollib, kas külmutuspaneelid on sisse lülitatud ja kui jah, siis see faili ei salvesta. See tähendab, et pean selle salvestama ilma külmutusklaasideta - hoides oma kolleege õnnelikuna !!

Töövihikuürituste puhul on kõige tähtsam see, et need tuleks salvestada õigesse kohta - töövihiku tasemel.

Töövihiku tasemele pääsemiseks toimige järgmiselt.

1. Paremklõpsake Exceli töövihikut - vaadake koodi:

2. See avab:

3. Topeltklõpsake „See töövihik” ja seejärel valige vasakpoolses esimeses rippmenüüs „Töövihik”:

Näeme, et vasakpoolsel küljel olev väärtus on nüüd muutunud „Avatud” - koos mõne töövihiku avatud sündmuse koodiga. See kood võimaldab meil kindlaks teha, mis juhtub töövihiku esmakordsel avamisel.

Siiski tahame kontrollida, mis juhtub töövihiku salvestamisel. Seega muutke parema käe rippmenüü valikule „Enne salvestamist”. Ekraan näeb nüüd välja selline:

Nüüd sisestame deklaratsiooni järele järgmise koodi:

Kui ActiveWindow.FreezePanes = Tõsi, siis on MsgBox "Külmutuspaneelid sisse lülitatud - faili ei salvestata" Tühista = Tõene lõpp Kui

Nii et täielik kood näeb nüüd välja selline:

Private Sub Workbook_BeforeSave (ByVal SaveAsUI kui Boolean, Cancel as Boolean) Kui ActiveWindow.FreezePanes = True Siis MsgBox "Külmutuspaneelid on sisse lülitatud - faili EI SALVESTA" Tühista = Tõeline lõpp, kui alamosa

Nüüd salvestage fail ja seejärel aktiveerige mis tahes aknas külmutuspaneelid. Seejärel - LASTA fail. Ilmub sõnumikast, milles öeldakse, et paneelide külmutamine on sisse lülitatud ja faili ei salvestata.

Tõepoolest, faili ei salvestata enne, kui külmutuspaneelid on eemaldatud.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave