VBA različica podatkovnega tipa (zatemnjena spremenljivka)

Vrsta spremenljivke

Variantna spremenljivka lahko vsebuje podatke kadar koli (niz, cela števila, decimalke, predmete itd.). Če ne spremenite vrste spremenljivke, bo vaša spremenljivka veljala za varianto.

Za razglasitev spremenljivke Variant uporabite stavek Dim (okrajšava za Dimension):

1 Zatemni varName kot varianto
1 Zatemni rng kot varianto

Potem, če želite spremenljivki dodeliti vrednost, preprosto uporabite znak enako:

1 varName = "John"
1 rng = Listi (1). Razpon ("A1")

Dajanje tega v postopek izgleda tako:

12345678910 Sub strExample ()'razglasi varianteZatemni strName kot variantoZatemni kot različico'napolni spremenljivkestrName = "Fred Smith"Set rng = Sheets (1). Range ("A1")'napolni listrng.Value = strNameEnd Sub

Če zaženete zgornjo kodo, bo celica A1 na listu 1 poseljena z »Fred Smith«

Z zgoraj navedenimi imeni bi lahko sklepali, da je varName bi vseboval besedilo in objSheet bi vseboval predmet delovnega lista. Pravzaprav je mogoče katero koli vrsto podatkov usmeriti v spremenljivko.

Zgoraj navedene spremenljivke lahko vnesete na naslednji način in ne bo prišlo do napake.

1 varName = 6
1 objSheet - "Fred"

Nenavadno je uporabljati variabilne spremenljivke in se ne šteje za dobro prakso. Včasih pa so spremenljivke variante uporabne.

Razglasite spremenljivko variante na modularni ali globalni ravni

V prejšnjem primeru ste spremenljivko Variant razglasili v postopku. Spremenljivke, deklarirane s postopkom, se lahko uporabljajo samo v tem postopku.

Namesto tega lahko spremenljivke Variant deklarirate na modularni ali globalni ravni.

Raven modula

Raven modula spremenljivke so na vrhu kodnih modulov označene z Dim izjavo.

Te spremenljivke je mogoče uporabiti s katerim koli postopkom v tem kodnem modulu.

Globalna raven

Globalna raven spremenljivke so deklarirane tudi na vrhu kodnih modulov. Namesto da uporabite Dim izjavo, uporabljate Javno stavek, ki označuje, da je spremenljivka niza na voljo za uporabo v celotnem projektu VBA.

1 Javno ime str kot Variant

Če spremenljivko variante deklarirate na ravni modula in uporabite v drugem modulu, bi prišlo do napake.

Če bi za razglasitev spremenljivke variante uporabili ključno besedo Public, se napaka ne bi zgodila in postopek bi deloval brezhibno.

Uporaba različice za polnjenje Excela

Upoštevajte naslednji postopek:

12345678910111213141516171819 Sub TestVariable'deklarirajte niz za ime izdelkaZatemni strProduct as string„navedite celo število za shranjevanje količine izdelkaZatemni iQty kot celo število„razglasite dvojnike za zadrževanje cene izdelka in skupne ceneZatemni dblCena kot dvojnaZatemni dblSkupaj kot dvojno'napolni spremenljivkestrProduct = "Vsestranska moka"iQty = 3dblPrice = "5,00 USD"dblTotal = "15,00 USD"'izpolnite Excelov listObseg ("A1") = strProductObseg ("A2") = iQtyRazpon ("A3") = dblCenaObseg ("A4") = dblSkupajEnd Sub

Ko zaženemo to kodo, se pojavi naslednja napaka.

Kliknite Odpravljanje napak

V spremenljivko ne morete vnesti znaka dolarja, saj je spremenljivka deklarirana kot Dvojnoin zato ne more shraniti vrednosti niza.

Izjaviti dblCena in dblSkupaj kot različice, kar pomeni, da niste omejeni na podatkovni tip.

1 Zatemni dblCena kot varianta
1 Dim dblTotal kot varianta

Znova zaženite kodo in podatki bodo prikazani na Excelovem listu tako, kot bi morali.

Upoštevajte, da se podatki, vneseni v A4 in A5, nato Excel samodejno pretvorijo v številke.

Razglasitev dinamičnega niza

Spremenljivke različic so uporabne tudi pri razglasitvi dinamičnega niza, saj omogočajo spreminjanje velikosti matrike med izvajanjem.

ZRazličica matrike, velikosti matrike ni treba določiti. Velikost se samodejno prilagodi.

123456789 Sub VariantArray ()Zatemni arrList () kot varianto'Določite vrednostiarrList = Niz (1, 2, 3, 4)'Spremeni vrednostiarrList = Polje (1,2,3,4,5,6)„Izhodni položaj 4MsgBox arrVar (4)End Sub

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave