VBA-muuttujatyypit - Kuinka määritellä muuttuja ja määrittää tietotyyppi?

Sisällysluettelo

Excel VBA -muuttujatyypit

VBA-muuttujat ovat kuin osoite tietojen tallentamiseen, ja tiedot voivat olla monissa muodoissa, kuten numeerisina tai merkkijonoina tai merkeinä jne. Joten kuinka koodi tietää, mikä arvo tai tieto mihin muuttujaan tallennetaan, tämän tekevät eri muuttujatyypit tai tunnetaan myös nimellä tietotyypit, joita käytetään tietojen tallentamiseen tyypin mukaan, esimerkiksi merkkijonomuuttujatyyppi tallentaa merkkijonon arvon, kun taas kokonaislukutietotyyppi tallentaa kokonaisluvun arvon ja niin edelleen.

Tehokasta koodaamista varten muuttujien ilmoittaminen ja tietotyyppien osoittaminen ilmoitetuille muuttujille on avainasemassa VBA-koodauksessa. Tässä artikkelissa näytämme, mitä muuttujat ovat, mikä tietotyyppi on ja miten tietotyyppi määritetään kyseisille muuttujille.

Kuten nimi itse sanoo, muuttuja vaihtelee ajoittain, ja tallennamme jonkin verran arvoa näihin muuttujiin. Ymmärtääksemme tämän paremmin muistetaan "matemaattiset" luokkamme, joissa oletetaan muuttuja "x = jotain", joten aina kun käytämme muuttujaa "x", se olisi yhtä suuri kuin meille annettu arvo.

Mikä on tietotyyppi?

Tietotyyppi on rajoitus, jonka asetamme muuttujalle pitoon. Esimerkiksi ilmoitetun muuttujan osalta voimme rajoittaa vain päivämäärien, kokonaislukujen, pitkien arvojen, merkkijonojen jne. Pitämistä…

Tietotyyppejä, joita muuttuja voi pitää hallussaan, kutsutaan VBA: ssa ”tietotyypiksi”.

Sillä on monia tyyppejä. Koodauksessa on tärkeää ymmärtää, mitä kukin tietotyyppi voi sisältää. Voimme luokitella tietotyypit kahdella tavalla eli

# 1 - Ei-numeeriset tietotyypit

Nämä tietotyypit voivat sisältää vain ei-numeerista tietoa. Nämä ovat yleisiä ei-numeerisia tietotyyppejä, eli merkkijono, looginen, variantti, objekti.

  • Merkkijono: Tähän voi sisältyä kahdenlaisia ​​merkkijonoarvoja, eli kiinteän pituinen merkkijono ja vaihtelevan pituinen merkkijono.
  • Totuusarvo: VBA: n loogiset arvot ovat loogisia arvoja, ts. Joko TOSI tai EPÄTOSI.
  • Vaihtoehto: Se voi sisältää sekä numeerista että ei-numeerista tietoa.
  • Objekti: Objektimuuttujat ovat Microsoftin tuotteita. Esimerkiksi Excelissä objektit ovat "laskentataulukko, työkirja, alue". Microsoft-objektit ovat "MS Word, MS PowerPoint ja MS Outlook".

# 2 - Numeeriset tietotyypit

Nämä tietotyypit voivat sisältää vain numeerisia tietoja. Alla on numeerisia tietotyyppejä, eli tavu, kokonaisluku, pitkä, yksi, kaksinkertainen, päivämäärä, valuutta, desimaali.

  • Tavu: Tämä on pieni kapasiteettimuuttuja, jossa ilmoitettu muuttuja voi pitää arvoja välillä 0 - 255.
  • Kokonaisluku: Tämä on parannettu versio tavutietotyypistä. Tämä voi pitää arvoja välillä -32768 - 32768. Jos jokin desimaaliarvo on määritetty, se muuntuu lähimpään kokonaislukuun. Esimerkiksi 5,55 muunnetaan 6: ksi ja 5,49 muunnetaan 5: ksi.
  • Pitkä: Jos kokonaislukutietotyypit rajoittavat sen arvoa arvoon 32768, LONG voi pitää hyvin pitkiä lukuja välillä -2,147,483,648 - 2147,483,648.
  • Yksittäinen: Yhdessä tietotyypissä voi olla kaksi desimaalin tarkkuutta -3,402823E + 38 - -1,401298E-45 negatiivisille arvoille ja 1,401298E-45 - 3,402823E + 38 positiivisille arvoille.
  • Kaksinkertainen: Kaksinkertaiseen tietotyyppiin voi mahtua enemmän kuin kaksi desimaalia, eli enintään 14 desimaalia. -1,79769313486232e + 308 - -4,94065645841247E-324 negatiivisille arvoille ja 4,94065645841247E-324 - 1,79769313486232e + 308 positiivisille arvoille.
  • Päivämäärä: Tähän tietotyyppiin voi tallentaa vain DATE-arvoja.
  • Valuutta: Tähän tietotyyppiin voi sisältyä arvoja välillä -922337,203,685,477,5808 - 922,337,203,685,477,5807.
  • Desimaali: Desimaalitietotyypit voivat olla enintään 28 desimaalin tarkkuudella. Se voi olla +/- 79 228 162 514 264 337 593 543 950 335, jos desimaalia ei käytetä +/- 7,9228162514264337593543950335.

Kuinka määritellä muuttuja ja määrittää tietotyyppi VBA: ssa?

Tärkein asia on määritellä muuttuja koodauksen aikana. Voimme määritellä muuttujatyypit kahdella eri tavalla, eli implisiittisesti ja eksplisiittisesti .

# 1 - implisiittisesti

VBA-muuttuja voidaan ilmoittaa implisiittisesti, eli käyttämättä DIM-sanaa. Dim tarkoittaa "ulottuvuutta". Katso esimerkiksi alla olevaa kuvaa.

Koodi:

Aladatan_tyyppi () k = 45 Lopeta ali

# 2 - nimenomaisesti

Tämä on oikea tapa ilmoittaa muuttuja. Kutsun sitä viralliseksi ja ammattimaiseksi tapaksi. Muuttujan ilmoittamiseksi meidän on käytettävä sanaa "DIM" ja määritettävä muuttujalle tietotyyppi.

Koodi:

Aladatan_tyyppi () Dim k As kokonaisluku k = 45 End Sub

Olemme määrittäneet muuttujan "k", kuten näet yllä olevasta kuvasta, ja määrittänyt tietotyypiksi "kokonaisluku".

Säännöt muuttujan määrittelemiseksi

  • Muuttuja ei voi sisältää välilyöntiä.
  • Muuttujassa ei saa olla mitään erikoismerkkejä paitsi alaviiva (_)
  • Muuttujan ei tulisi alkaa numeromerkillä.
  • Muuttujan ei tulisi sisältää suoraan VBA-avainsanoja.

Esimerkkejä

Esimerkki 1

Määritä mikä tahansa muuttuja, meidän on ensin käytettävä sanaa "Dim" ja sen jälkeen muuttujan nimi.

Koodi:

Sub Data_Type () Dim var End Sub

Seuraavaksi, kun muuttujan nimi on annettu, meidän on määritettävä tietotyyppi. Kuten edellä keskustelimme, voimme määrittää minkä tahansa tietotyypin.

Koodi:

Sub Data_Type () Dim var As Integer End Sub

Olen määrittänyt tietotyypin kokonaislukuksi. Joten nyt sinun on muistettava Integer-muuttujan rajoitukset, ts. Se voi pitää arvoja välillä -32768 - 32768.

Koodi:

Aladatan_tyyppi () Dim var kuin kokonaisluku var = 25000 End Sub

Yllä olevassa kuvassa olen määrittänyt 25000, mikä on hyvin ulottuvilla, mutta sillä hetkellä, kun syötät arvon yli rajan, se aiheuttaa ylivuotovirheen VBA: ssa.

Koodi:

Aladatan_tyyppi () Dim var kuin kokonaisluku var = 35000 End Sub

Nyt voit suorittaa tämän koodin pikanäppäimellä F5 tai manuaalisesti nähdäksesi tuloksen.

Ylivuoto ei ole muuta kuin tietotyypin määritetty arvo on enemmän kuin sen kapasiteetti.

Esimerkki 2

Vastaavasti emme voi määrittää myös eri arvoja. Emme voi esimerkiksi määrittää String-arvoa kokonaislukutietotyypin muuttujalle. Jos määritetään, saamme "Type Mismatch Error".

Koodi:

Sub Data_Type1 () Dim var As Integer var = "Hii" End Sub

Suorita tämä koodi nyt pikanäppäimellä F5 tai manuaalisesti nähdäksesi tuloksen.

Muistettavaa

  • Käytä muuttujaa aina DIM-sanalla.
  • Ennen kuin määrität tietotyypin, varmista, millaista tietoa aiot tallentaa siihen.
  • Kapasiteettiarvon määrittäminen tietotyypille aiheuttaa ylivuotovirhettä ja toisen arvon määrittäminen tietotyypille aiheuttaa tyypin ristiriitavirheen.

Mielenkiintoisia artikkeleita...