Pi: n arvo on 3,14, maapallon vetovoima 9,8 m/s2, olet kiinnostunut VBA: sta jne. Nämä kaikki ovat vakioita, eivätkä ne muutu.
VBA: ssa voit määrittää muuttujia, joiden arvoa ei voi muuttaa ohjelmassa. VBA -ohjelmoija määrittelee nämä vakioarvot itse ohjelmassa käyttääkseen niitä uudelleen ja uudelleen.
Kuinka määritellä vakioarvo VBA: ssa?
Käytämme avainsanaa Constilmoittaa vakio VBA: ssa.
VBA: n vakion muuttujan ilmoittamisen syntaksi on:
[] Const kuten =
[]: Soveltamisalan määrittäjä on valinnainen. Määrität vakion laajuuden (julkinen tai yksityinen), jos haluat. Muussa tapauksessa älä ilmoita sitä. Oletuksena vakion laajuus on yksityinen. Voit lukea laajuuden määrittäjistä täältä.
Huomautus: Emme koskaan käytä Dim -avainsanaa vakion ilmoittamiseen VBA: ssa.
: Se on vakiomuuttujan nimi.
: Vakion tyyppi. Esimerkiksi kokonaisluku, merkkijono, päivämäärä jne.
: Vakiomuuttujan arvo.
Yksinkertainen esimerkki vakiomuuttujasta on:
Const pi kaksinkertaisena = 3,14
Tässä ilmoitimme pi: n vakioarvon muuttujassa nimeltäpi. Nyt voimme käyttää tätä piohjelmassamme. Arvo on aina 3,14. Jos yrität muuttaa vakiomuuttujan arvoa, Excel VBA näyttää virheilmoituksen.
Esimerkkejä VBA: n jatkuvista muuttujista
Tutki alla olevaa koodia:
Const pi As Double = 3.14 Const rad As Double = 6371 Sub Earth () sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub Sub Mars () rad = 3389,5 sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub
Tässä olemme määrittäneet kaksi vakioita, pi ja rad. Pi: n arvo on 3,14 ja rad on 6371 eli maan säde.
Nyt kun suoritamme ensimmäisen maapallon, se toimii täydellisesti ja tulostaa maapallon pinta -alan.
Seuraavassa osa-Marsissa määritimme vakion rad uudelleen, koska Marsin säde on erilainen. Kun suoritamme tämän ohjelman, se antaa virheilmoituksen: "Vakion määrittäminen ei ole sallittua".
Kuinka käynnistää vakio uudelleen VBA: ssa
Kuten olet nähnyt yllä olevassa esimerkissä, emme voi määrittää uusia arvoja vakioille. Kyllä, et voi.
Mutta jos sinun on silti käytettävä samaa nimeä eri kiinteänä arvona, käytä vain Constavainsana ennen tehtävää.
Alla oleva koodi toimii täydellisesti.
Const pi As Double = 3,14 Const rad As Double = 6371 Sub Earth () sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub Sub Mars () Const rad = 3389,5 sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub
Yllä oleva aliohjelma toimii täydellisesti ilman virheitä. Mutta en suosittele tätä lähestymistapaa. Paras tapa on tunnistaa julkiset ja yksityiset vakiot ja määritellä ne erikseen. Ja tämä vie meidät seuraavaan segmenttiin.
Julkiset ja yksityiset vakiot VBA: ssa
Kuten edellä olevista esimerkeistä opimme, jotkin vakiot voivat olla yleismaailmallisia ja jotkut voivat vaihdella eri kohteiden osalta. Kuten pi -arvo on vakio koko universumille, mutta planeettojen lukumäärä aurinkokunnan ja aurinkokunnan välillä ja planeettojen säde vaihtelee planeetalta toiselle.
Koska maapallon säde on vakio sille, ei universumille. Samoin ohjelmissa on joitain vakioita, jotka ovat yksityisiä ali- ja moduulien kannalta, ja jotkut ovat julkisia vakioita koko VBA -projektille. Sinun tehtäväsi on tunnistaa ne ja julistaa ne eri tavalla.
Otetaan toinen esimerkki:
Julkinen Const pi As Double = 3.14 'Tämä on käytettävissä mistä tahansa moduulista projektissa Private Const planets As Integer = 8' tämä on tämän moduulin yksityinen Sub Earth () Const rad As Double = 6371 'Yksityinen tälle aliohjelmalle. Ei voi käyttää sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub Sub Mars () Const rad As Double = 3389,5 'Yksityinen tähän aliohjelmaan. Ei voi käyttää sArea = 4 * pi * Sqr (rad) -korjauksen ulkopuolella Tulosta sArea End Sub
Tämä on yksinkertainen muuttujan määrittelyalue. Voit lukea muuttujan laajuuden asetuksesta täältä yksityiskohtaisesti.
Joten kyllä kaverit, tällä tavalla ilmoitat ja käytät vakioita Excel VBA: ssa. Yritin selittää luovasti. Toivottavasti olin tarpeeksi selittävä. Jos sinulla on epäilyksiä, kysy alla olevasta kommenttiosasta. Kuulen ja vastaan mielelläni.
Excel VBA: n muuttujan laajuus | meillä on muuttujan käyttöoikeusmäärittelyt, jotka määrittävät, mistä määriteltyä muuttujaa voidaan käyttää. Excel VBA ei ole poikkeus. Myös VBA: ssa on laajuuden määrittäjiä. Näitä laajuuden määrittäjiä voidaan käyttää muuttujan näkyvyyden/laajuuden asettamiseen Excel VBA: ssa.
ByRef- ja ByVal -argumentit | Kun argumentti välitetään ByRef -argumenttina toiselle ala- tai funktiolle, todellisen muuttujan viite lähetetään. Kaikki muuttujan kopioon tehdyt muutokset näkyvät alkuperäisessä argumentissa.
Poista taulukot ilman vahvistuskehotteita Microsoft Excelin VBA: n avulla | Koska poistat arkkeja VBA: n avulla, tiedät mitä teet. Haluat kertoa Excelille, ettei se näytä tätä varoitusta ja poista kirottu arkki.
Lisää ja tallenna uusi työkirja VBA: n avulla Microsoft Excel 2016 | Tässä koodissa loimme ensin viittauksen työkirjaobjektiin. Ja sitten alustimme sen uudella työkirjaobjektilla. Tämän lähestymistavan etuna on, että voit tehdä tämän uuden työkirjan toimintoja helposti. Kuten tallentaminen, sulkeminen, poistaminen jne
Näytä viesti Excel VBA: n tilarivillä Excelin tilariviä voidaan käyttää koodinäytönä. Kun VBA -koodisi on pitkä ja teet useita tehtäviä VBA: n avulla, poistat usein näytön päivityksen käytöstä, jotta et näe sitä välkkyvää
Poista varoitusviestit käytöstä VBA: n avulla Microsoft Excel 2016 | Tämä koodi ei vain poista VBA -hälytyksiä käytöstä, vaan myös lisää koodin aikatehokkuutta. Katsotaanpa miten.
Suosittuja artikkeleita:
50 Excel -pikanäppäintä tuottavuuden lisäämiseksi | Nopeuta tehtävääsi. Nämä 50 pikanäppäintä tekevät työskentelystäsi entistä nopeampaa Excelissä.
VLOOKUP -toiminto Excelissä | Tämä on yksi eniten käytetyistä ja suosituimmista Excel -toiminnoista, jota käytetään arvon etsimiseen eri alueilta ja arkeilta.
COUNTIF Excel 2016: ssa | Laske arvot olosuhteilla käyttämällä tätä hämmästyttävää toimintoa. Sinun ei tarvitse suodattaa tietojasi tietyn arvon laskemiseksi. Laskutoiminto on välttämätön kojelaudan valmistelemiseksi.
SUMIF -toiminnon käyttäminen Excelissä | Tämä on toinen kojelaudan olennainen toiminto. Tämä auttaa sinua laskemaan yhteen arvot tietyissä olosuhteissa.