Työkirjan tapahtumat - Älä tallenna jäädytysruuduilla - VBA -koodiesimerkkejä

Jäädytä ruudut VBA: n avulla

Julkaisin äskettäin Excelin jäädytysruudut, näin voit tehdä sen VBA: n avulla:

Jäädytä rivit

 Rivit ("1: 1"). Valitse ActiveWindow.FreezePanes = True 

Jäädytä sarakkeet

 Alue ("A: A"). Valitse ActiveWindow.FreezePanes = True

Jäädytä rivit ja sarakkeet

 Alue ("B2"). Valitse ActiveWindow.FreezePanes = True

Unfreeze -ruudut

 ActiveWindow.FreezePanes = Väärä 

Pakota työkirja säästämään ilman jäädytysruutuja

Excelin avulla voimme hallita asioita tapahtumien kautta. Tämä artikkeli ei ole yksityiskohtainen keskustelu tapahtumista tai niiden ominaisuuksista. Sen sijaan se antaa esimerkin WorkBook -tapahtumasta. Nämä tapahtumat järjestetään työkirjatasolla eikä tietyssä laskentataulukossa.

VBA: n kautta voimme hallita, mitä tapahtuu tietyissä tapahtumissa, kuten ennen tulostusta tai ennen tallennusta. Yksi yleinen ongelma, jonka kohtaan, on se, että monet ihmiset, joiden kanssa työskentelen, eivät pidä tiedostoista, joissa on Freeze Panes.

Joten tässä artikkelissa koomme koodin, joka tarkistaa, onko Freeze Panes käytössä, ja jos on, se ei tallenna tiedostoa. Tämä tarkoittaa, että minun on tallennettava se ilman jäädytysruutuja - pitäen kollegani onnellisina !!

Työkirjan tapahtumissa tärkeintä on, että ne tallennetaan oikeaan paikkaan - työkirjatasolle.

Pääset työkirjatasolle seuraavasti:

1. Napsauta hiiren kakkospainikkeella Excel -työkirjaa - katso koodi:

2. Tämä tuo esiin:

3. Kaksoisnapsauta "Tämä työkirja" ja valitse sitten "Työkirja" ensimmäisestä avattavasta valikosta vasemmalla puolella:

Näemme, että vasemmanpuoleinen arvo on nyt muuttunut muotoon "Open" - jossa on työkirjan avoimen tapahtuman koodi. Tämän koodin avulla voimme määrittää, mitä tapahtuu, kun työkirja avataan ensimmäisen kerran.

Haluamme kuitenkin hallita, mitä tapahtuu, kun tallennamme työkirjan. Joten vaihda oikeanpuoleinen pudotusvalikko kohtaan "Ennen tallentamista". Näyttö näyttää nyt tältä:

Lisäämme nyt seuraavan koodin ilmoituksen jälkeen:

Jos ActiveWindow.FreezePanes = Tosi Sitten MsgBox "Pysäytysruudut on päällä - Tiedostoa EI TALLENNETA" Peruuta = Tosi loppu Jos

Joten koko koodi näyttää nyt tältä:

Yksityinen alityökirja_BeforeSave (ByVal SaveAsUI as Boolean, Cancel as Boolean) Jos ActiveWindow.FreezePanes = True Sitten MsgBox "Freeze Panes on päällä - tiedostoa EI TALLENNETA" Cancel = True End If End Sub

Tallenna nyt tiedosto ja aktivoi sitten Pysäytä ruudut missä tahansa ikkunassa. Sitten - TALLENNA tiedosto. Näkyviin tulee viestilaatikko, jossa kerrotaan, että "Freeze Panes" on päällä - ja tiedostoa ei tallenneta.

Tiedosto ei tallennu, ennen kuin Freeze Panes on poistettu.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave