Tämä on lopullinen opas Sheetsin / laskentataulukoiden käyttämiseen Excelissä.
Tämän oppaan alareunaan olemme luoneet huijausarkin, jossa on yleisiä komentoja arkkien käsittelyyn.
Arkit Vs. Laskentataulukot
Arkeille voi viitata kahdella tavalla käyttämällä VBA: ta. Ensimmäinen koskee Sheets -objektia:
1 | Sheets ("Sheet1"). Aktivoi |
Toinen on Worksheets -objektin kanssa:
1 | Laskentataulukot ("Sheet1"). Aktivoi |
99% ajasta nämä kaksi kohdetta ovat identtisiä. Itse asiassa, jos olet hakenut VBA -koodiesimerkkejä verkossa, olet todennäköisesti nähnyt molemmat käytetyt objektit. Tässä on ero:
Sheets -kokoelma sisältää laskentataulukoita ja kaavioarkkeja.
Käytä siis Sheetsia, jos haluat sisällyttää tavalliset laskentataulukot JA kaavioarkit. Käytä laskentataulukoita, jos haluat sulkea kaavioarkit pois. Tässä oppaassa käytämme taulukkoja ja laskentataulukoita keskenään.
Viittausarkit
Taulukoihin voi viitata useilla eri tavoilla:
- ActiveSheet
- Arkki -välilehden nimi
- Arkkiindeksinumero
- Taulukon koodinimi
ActiveSheet
ActiveSheet on tällä hetkellä aktiivinen taulukko. Toisin sanoen, jos keskeytit koodisi ja katsoit Exceliä, se on arkki, joka näkyy. Alla oleva esimerkki näyttää viestilaatikon ActiveSheet -nimellä.
1 | MsgBox ActiveSheet.Name |
Arkin nimi
Olet luultavasti parhaiten tietoinen Sheetsin viittaamisesta niiden välilehden nimen perusteella:
1 | Sheets ("TabName"). Aktivoi |
Arkkiindeksinumero
Arkki -indeksinumero on työkirjan arkin sijainti. 1 on ensimmäinen arkki. 2 on toinen arkki jne.:
1 | Arkit (1) Aktivoi |
Taulukon hakemistonumero - työkirjan viimeinen arkki
Jos haluat viitata työkirjan viimeiseen taulukkoon, käytä Sheets.Count saadaksesi viimeisen hakemistonumeron:
1 | Arkit (Sheets.Count) Aktivoi |
Taulukko "Koodin nimi"
Sheet Code Name on sen objektin nimi VBA: ssa:
1 | Koodinimi Aktivoi |
Viittausarkit muissa työkirjoissa
Sheetsiin on myös helppo viitata muissa työkirjoissa. Tätä varten sinun on käytettävä Työkirjat -objektia:
1 | Työkirjat ("VBA_Examples.xlsm"). Laskentataulukot ("Sheet1"). Aktivoi |
Tärkeä: Työkirjan on oltava auki, ennen kuin voit viitata sen Sheetsiin.
Aktivoi vs. valitse Arkki
Toisessa artikkelissa keskustelemme kaikesta arkkien aktivoimisesta ja valitsemisesta. Lyhyt versio on tämä:
Kun aktivoit taulukon, siitä tulee ActiveSheet. Tämä on taulukko, jonka näet, jos katsot Excel -ohjelmaa. Vain yksi arkki voidaan aktivoida kerrallaan.
Aktivoi taulukko
1 | Sheets ("Sheet1"). Aktivoi |
Kun valitset taulukon, siitä tulee myös ActiveSheet. Voit kuitenkin valita useita arkkeja kerralla. Kun useita arkkeja valitaan kerralla, "ylä" -arkki on ActiveSheet. Voit kuitenkin vaihtaa ActiveSheetin valittujen arkkien sisällä.
Valitse arkki
1 | Sheets ("Sheet1"). Valitse |
Valitse Useita arkkeja
Valitse taulukon avulla useita arkkeja kerralla:
1 | Laskentataulukot (Array ("Sheet2", "Sheet3")). Valitse |
Laskentataulukon muuttuja
Kun määrität laskentataulukon muuttujalle, voit viitata laskentataulukkoon sen muuttujan nimen perusteella. Tämä voi säästää paljon kirjoittamista ja helpottaa koodin lukemista. On myös monia muita syitä, miksi haluat käyttää muuttujia.
Laskentataulukon muuttujan ilmoittaminen:
1 | Dim ws laskentataulukkona |
Laskentataulukon määrittäminen muuttujaan:
1 | Aseta ws = Sheets ("Sheet1") |
Nyt voit viitata koodin laskentataulukon muuttujaan:
1 | ws. aktivoi |
Käy läpi kaikki työkirjan arkit
Laskentataulukon muuttujat ovat välttämättömiä, kun haluat selata kaikkia työkirjan laskentataulukoita. Helpoin tapa tehdä tämä on:
12345 | Dim ws kuin laskentataulukkoJokaiselle ws: lle laskentataulukoissaMsgBox ws.nameSeuraava ws |
Tämä koodi kiertää kaikki työkirjan laskentataulukot ja näyttää kunkin laskentataulukon nimen viestiruudussa. Työkirjan kaikkien arkkien selaaminen on erittäin hyödyllistä, kun lukitaan / avataan tai piilotetaan / avataan useita laskentataulukoita kerralla.
Laskentataulukon suojaus
Työkirjan suojaus
Työkirjan suojaus lukitsee työkirjan rakenteellisilta muutoksilta, kuten laskentataulukoiden lisäämiseltä, poistamiselta, siirtämiseltä tai piilottamiselta.
Voit ottaa työkirjan suojauksen käyttöön VBA: n avulla:
1 | ActiveWorkbook.Protect Password: = "Salasana" |
tai poista työkirjan suojaus käytöstä:
1 | ActiveWorkbook.UnProtect Password: = "Salasana" |
Huomautus: Voit suojata / poistaa suojauksen myös ilman salasanaa jättämällä Salasana -argumentin pois:
1 | ActiveWorkbook.Protect |
Laskentataulukon suojaus
Laskentataulukkotason suojaus estää yksittäisten laskentataulukoiden muuttamisen.
Suojaa laskentataulukko
1 | Laskentataulukot ("Sheet1"). Suojaa salasana |
Poista laskentataulukon suojaus
1 | Laskentataulukot ("Sheet1"). Poista salasanan suojaus |
Laskentataulukoiden suojaamisessa on useita vaihtoehtoja (salli muotoilumuutokset, salli käyttäjän lisätä rivejä jne.). Suosittelemme käyttämään makrotallenninta haluttujen asetusten tallentamiseen.
Keskustelemme laskentataulukon suojaamisesta tarkemmin täällä.
Laskentataulukon näkyvä ominaisuus
Saatat jo tietää, että laskentataulukot voidaan piilottaa:
Laskentataulukon näkyvyysasetuksia on itse asiassa kolme: Näkyvä, Piilotettu ja Erittäin piilotettu.Kuka tahansa tavallinen Excel -käyttäjä voi avata piilotetut taulukot - napsauttamalla hiiren kakkospainikkeella laskentataulukon välilehteä (yllä). VeryHidden -arkit voidaan avata vain VBA -koodilla tai VBA -editorissa. Käytä seuraavia koodiesimerkkejä laskentataulukoiden piilottamiseen / näyttämiseen:
Näytä työkirja
1 | Laskentataulukot ("Sheet1"). Visible = xlSheetVisible |
Piilota laskentataulukko
1 | Laskentataulukot ("Sheet1"). Látható = xlSheetHidden |
Erittäin piilota laskentataulukko
1 | Laskentataulukot ("Sheet1"). Visible = xlSheetVeryHidden |
Laskentataulukotason tapahtumat
Tapahtumat ovat laukaisimia, jotka voivat aiheuttaa tapahtumatoimenpiteiden suorittamisen. Voit esimerkiksi saada koodin toimimaan joka kerta, kun laskentataulukon solua muutetaan tai kun laskentataulukko aktivoidaan.
Laskentataulukon tapahtumamenettelyt on sijoitettava laskentataulukkomoduuliin:
Laskentataulukon tapahtumia on lukuisia. Jos haluat nähdä täydellisen luettelon, siirry laskentataulukkomoduuliin ja valitse ensimmäisestä avattavasta valikosta "Työarkki". Valitse sitten tapahtumatoiminto toisesta avattavasta valikosta lisätäksesi se moduuliin.
Laskentataulukko Aktivoi tapahtuma
Laskentataulukon aktivointitapahtumat suoritetaan joka kerta, kun laskentataulukko avataan.
123 | Yksityinen alityöarkki_Activate ()Alue ("A1"). ValitseEnd Sub |
Tämä koodi valitsee solun A1 (palauttaa näkymäalueen laskentataulukon vasempaan yläkulmaan) joka kerta, kun laskentataulukko avataan.
Laskentataulukon muutostapahtuma
Laskentataulukon muutostapahtumat suoritetaan aina, kun laskentataulukon solun arvoa muutetaan. Lue opetusohjelmamme laskentataulukon muutostapahtumista saadaksesi lisätietoja.
Tehtäväarkki Huijausarkki
Alta löydät huijausarkin, joka sisältää yleisiä koodiesimerkkejä arkkien käsittelyyn VBA: ssa
VBA Worksheets Cheatsheet
VBA -laskentataulukot CheatsheetKuvaus | Esimerkki koodista |
---|---|
Viittaavat ja aktivoivat taulukot | |
Välilehden nimi | Sheets ("Input"). Aktivoi |
VBA -koodinimi | Arkki 1.Aktivoi |
Indeksin sijainti | Arkit (1) Aktivoi |
Valitse Arkki | |
Valitse Arkki | Sheets ("Input"). Valitse |
Aseta muuttujaksi | Dim ws kuin laskentataulukko Aseta ws = ActiveSheet |
Nimi / Nimeä uudelleen | ActiveSheet.Name = "UusiNimi" |
Seuraava arkki | ActiveSheet.Next.Activate |
Selaa kaikki arkit läpi | Dim ws kuin laskentataulukko Jokaiselle työkirjan w: lle Msgbox ws.name Seuraava ws |
Selaa valittuja arkkeja | Dim ws laskentataulukkona Jokaiselle ActiveWindow.SelectedSheets -sivulle MsgBox ws.Name Seuraava ws |
Hanki ActiveSheet | MsgBox ActiveSheet.Name |
Lisää taulukko | Arkit Lisää |
Lisää arkki ja nimi | Sheets.Add.Name = "NewSheet" |
Lisää taulukko, jonka nimi on solusta | Sheets.Add.Name = alue ("a3") |
Lisää arkki toisen jälkeen | Sheets.Add After: = Sheets ("Input") |
Lisää arkki nimen ja nimen jälkeen | Sheets.Add (After: = Sheets ("Input")). Name = "NewSheet" |
Lisää arkki ennen ja nimi | Sheets.Add (Ennen: = Sheets ("Input")). Name = "NewSheet" |
Lisää taulukko työkirjan loppuun | Sheets.Add After: = Sheets (Sheets.Count) |
Lisää taulukko työkirjan alkuun | Sheets.Add (Ennen: = Sheets (1)). Name = "FirstSheet" |
Lisää taulukko muuttujaan | Dim ws laskentataulukkona Aseta ws = Sheets.Add |
Kopioi laskentataulukot | |
Siirrä taulukko työkirjan loppuun | Sheets ("Sheet1"). Siirrä jälkeen: = Sheets (Sheets.Count) |
Uuteen työkirjaan | Sheets ("Sheet1"). Kopio |
Valitut taulukot uuteen työkirjaan | ActiveWindow.SelectedSheets.Copy |
Ennen toista arkkia | Sheets ("Sheet1"). Kopioi ennen: = Sheets ("Sheet2") |
Ennen ensimmäistä arkkia | Sheets ("Sheet1"). Kopioi ennen: = Sheets (1) |
Viimeisen arkin jälkeen | Sheets ("Sheet1"). Kopioi jälkeen: = Sheets (Sheets.Count) |
Kopioi ja Nimi | Sheets ("Sheet1"). Kopioi jälkeen: = Sheets (Sheets.Count) ActiveSheet.Name = "LastSheet" |
Kopioi ja nimi solun arvosta | Sheets ("Sheet1"). Kopioi jälkeen: = Sheets (Sheets.Count) ActiveSheet.Name = Alue ("A1"). Arvo |
Toiseen työkirjaan | Sheets ("Sheet1"). Copy Before: = Työkirjat ("Example.xlsm"). Sheets (1) |
Piilota / näytä taulukot | |
Piilota taulukko | Sheets ("Sheet1"). Látható = False tai Sheets ("Sheet1"). Látható = xlSheetHidden |
Näytä arkki | Sheets ("Sheet1"). Visible = True tai Sheets ("Sheet1"). Visible = xlSheetVisible |
Erittäin piilotettu arkki | Sheets (“Sheet1”). Visible = xlSheetVeryHidden |
Poista tai Tyhjennä taulukot | |
Poista taulukko | Sheets ("Sheet1"). Poista |
Poista taulukko (virheen käsittely) | Virhe Jatka seuraavaksi Sheets ("Sheet1"). Poista Virhe GoTo 0 |
Poista taulukko (ei kehotetta) | Application.DisplayAlerts = Väärä Sheets ("Sheet1"). Poista Application.DisplayAlerts = Totta |
Kirkas arkki | Sheets ("Sheet1"). Cells.Clear |
Vain arkin sisältö | Sheets ("Sheet1"). Cells.ClearContents |
Kirkas arkki Käytetty alue | Sheets ("Sheet1"). UsedRange.Clear |
Suojaa tai poista suojaus | |
Poista suojaus (ei salasanaa) | Sheets ("Sheet1"). Poista suojaus |
Poista suojaus (salasana) | Sheets ("Sheet1"). Poista salasanan suojaus |
Suojaa (ei salasanaa) | Sheets ("Sheet1"). Suojaa |
Suojaa (salasana) | Sheets ("Sheet1"). Suojaa salasana |
Suojaa, mutta salli VBA -käyttö | Sheets ("Sheet1"). Suojaa UserInterfaceOnly: = True |
Poista kaikkien arkkien suojaus | Dim ws laskentataulukkona Jokaiselle viikolle laskentataulukoissa ws.Suojaa salasana Seuraava ws |