VBA muutuja tüübid - Kuidas määratleda muutuja ja määrata andmetüüp?

Lang L: none (table-of-contents)

Exceli VBA muutuja tüübid

VBA muutujad on nagu aadress andmete salvestamiseks ja andmed võivad olla mitmel kujul, näiteks numbrilised või stringid või märgid jne. Kuidas saab kood teada, millist väärtust või andmeid millisesse muutujasse salvestada, seda teevad erinevad muutujatüübid või tuntud ka kui andmetüübid, mida kasutatakse andmete salvestamiseks vastavalt tüübile, näiteks stringimuutuja tüüp salvestab stringi väärtuse, täisarvu andmetüüp aga täisarvu jne.

Tõhusaks kodeerimiseks on muutujate deklareerimine ja neile deklareeritud muutujatele andmetüüpide määramine võtmetähtsusega VBA kodeerimisel. Selles artiklis me näitame teile, mis on muutujad, mis on andmetüüp ja kuidas neile muutujatele andmetüüp määrata.

Nagu nimi ise ütleb, muutub muutuja aeg-ajalt ja me salvestame nendesse muutujatesse väärtuse. Selle paremaks mõistmiseks meenutagem oma "matemaatilisi" klasse, kus eeldame muutujat "x = midagi", nii et alati, kui kasutame muutujat "x", oleks see võrdne määratud väärtusega.

Mis on andmetüüp?

Andmetüüp on piirang, mille panime muutujale ootele. Näiteks deklareeritud muutuja puhul võime piirata ainult kuupäevaväärtuste, täisarvude, pikkade väärtuste, stringi väärtuste jne olemasolu.

Andmetüüpe, mida muutuja võib omada, nimetatakse VBA-s „andmetüübiks”.

Sellel on palju tüüpe. Kodeerimisel on oluline mõista, mida iga andmetüüp mahutab. Andmetüüpe saame klassifitseerida kahel viisil, st

# 1 - mitte-numbrilised andmetüübid

Need andmetüübid võivad sisaldada ainult mittearvulisi andmeid. Need on tavalised mittearvulised andmetüübid, st String, Boolean, Variant, Object.

  • String: see võib sisaldada kahte tüüpi stringiväärtusi, st fikseeritud pikkusega string ja muutuva pikkusega string.
  • Boolean: BBA väärtused VBA-s on loogilised väärtused, st kas TRUE või FALSE.
  • Variant: see mahutab nii arvulisi kui ka mittearvulisi andmeid.
  • Objekt: Objekti muutujad on Microsofti tooted. Näiteks Excelis on objektideks „tööleht, töövihik, vahemik”. Microsofti objektid on „MS Word, MS PowerPoint ja MS Outlook”.

# 2 - numbrilised andmetüübid

Need andmetüübid mahutavad ainult arvandmeid. Allpool on arvandmete tüübid, st bait, täisarv, pikk, üksik, topelt, kuupäev, valuuta, kümnendkoht.

  • Bait: see on väike mahutavusega muutuja, kus deklareeritud muutuja mahutab väärtusi vahemikus 0 kuni 255.
  • Täisarv: see on baidi andmetüübi täiustatud versioon. See võib sisaldada väärtusi vahemikus -32768 kuni 32768. Kui määratud on mõni kümnendarv, teisendatakse see lähimaks täisarvuks. Näiteks 5,55 teisendatakse 6-ks ja 5,49 teisendatakse 5-ks.
  • Pikk: kus integreeritud andmetüübid piiravad selle väärtust väärtusega 32768, võib LONG mahutada väga pikki numbreid vahemikus -2 147 483 648 kuni 2 147 483 648.
  • Üksik: üks andmetüüp mahutab kaks kohta pärast koma -3,402823E + 38 kuni -1,401298E-45 negatiivsete väärtuste korral ja 1,401298E-45 kuni 3,402823E + 38 positiivsete väärtuste korral.
  • Topelt: topeltandmete tüüp mahutab rohkem kui kaks kohta pärast koma, st kuni 14 kohta pärast koma. -1,79769313486232e + 308 kuni -4,94065645841247E-324 negatiivsete väärtuste korral ja 4,94065645841247E-324 kuni 1,79769313486232e + 308 positiivsete väärtuste korral.
  • Kuupäev: see andmetüüp võib sisaldada ainult DATE väärtusi.
  • Valuuta: see andmetüüp mahutab väärtusi vahemikus -922,337,203,685,477,5808 kuni 922,337,203,685,477,5807.
  • Kümnendkoht: kümnendkohtade andmetüüpides võib olla kuni 28 kohta pärast koma. See võib olla vahemikus +/- 79 228 162 514 264 337 593 543 950 335, kui koma ei kasutata +/- 7,9228162514264337593543950335.

Kuidas määratleda muutuja ja määrata andmetüüp VBA-s?

Kõige tähtsam on teada muutuja määramine kodeerimise käigus. Muutuja tüüpe saame määratleda kahel erineval viisil, st kaudselt ja selgesõnaliselt .

# 1 - kaudselt

Saame VBA muutuja deklareerida kaudselt, st ilma sõna “DIM” kasutamata. Dim tähistab dimensiooni. Näiteks vaadake allolevat pilti.

Kood:

Alamandmete_tüüp () k = 45 Lõpp-alam

# 2 - selgesõnaliselt

See on õige viis muutuja deklareerimiseks. Ma nimetaksin seda ametlikuks ja professionaalseks viisiks. Muutuja deklareerimiseks peame kasutama sõna “DIM” ja määrama muutujale andmetüübi.

Kood:

Alamandmete_tüüp () Dim k As täisarv k = 45 Lõpp alam

Oleme määranud muutuja „k“, nagu näete ülaltoodud pildil, ja määranud andmetüübiks „täisarv“.

Reeglid muutuja määratlemiseks

  • Muutuja ei tohi sisaldada tühikut.
  • Muutuja ei tohiks sisaldada erimärke, välja arvatud alakriips (_)
  • Muutuja ei tohiks alata numbrimärgiga.
  • Muutuja ei tohiks sisaldada otseselt ühtegi VBA märksõna.

Näited

Näide 1

Mis tahes muutuja määratlemiseks peame kõigepealt kasutama sõna "Dim" ja seejärel muutuja nime.

Kood:

Sub Data_Type () Dim var End Sub

Järgmiseks, kui muutuja nimi on antud, peame määrama andmetüübi. Nagu me eespool arutlesime, saame määrata mis tahes andmetüübi.

Kood:

Sub Data_Type () Dim var As Integer End Sub

Andmetüübi määrasin täisarvuks. Nii et nüüd peate meeles pidama muutuja Integer piiranguid, st see võib hoida väärtusi vahemikus -32768 kuni 32768.

Kood:

Sub Data_Type () Dim var As Integer var = 25000 End Sub

Ülaloleval pildil olen määranud 25000, mis on hästi käeulatuses, kuid hetkel, kui sisestate väärtuse, mis ületab piiri, põhjustab see VBA-s ülevoolu tõrke.

Kood:

Sub Data_Type () Dim var As Integer var = 35000 End Sub

Nüüd saate tulemuse nägemiseks käivitada selle koodi otseteeklahviga F5 või käsitsi.

Ülevool pole midagi muud kui andmetüübi määratud väärtus on suurem kui selle maht.

Näide 2

Samamoodi ei saa me omistada ka erinevaid väärtusi. Näiteks ei saa me täisarvu andmetüübi muutujale väärtust „String” määrata. Kui see on määratud, näeme tüübi mittevastavuse viga.

Kood:

Alamandmete_tüüp1 () Dim var As Integer var = "Hii" End Sub

Tulemuse nägemiseks käivitage see kood nüüd otseteeklahvi F5 abil või käsitsi.

Asjad, mida meeles pidada

  • Muutuja määratlemiseks kasutage alati sõna DIM.
  • Enne andmetüübi määramist veenduge, milliseid andmeid sinna salvestate.
  • Andmetüübile rohkem kui mahutavuse määramine põhjustab ülevooluvigu ja andmetüübile erineva väärtuse määramine põhjustab tüübi mittevastavuse.

Huvitavad Artiklid...