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.