Podatkovni tip nizov VBA (zatemnjena spremenljivka)

Vrsta spremenljive vrste

Podatkovni niz String je eden najpogostejših podatkovnih tipov v VBA. Shranjuje "nize" besedila.

Če želite razglasiti spremenljivko String spremenljivko, uporabite stavek Dim (okrajšava za Dimension):

1 Zatemni strName kot niz

Če želite spremenljivki dodeliti vrednost, uporabite znak enako:

1 strName = "Fred Smith"

Dajanje tega v postopek izgleda tako:

12345678 Sub strExample ()'razglasi nizZatemni strName kot niz'zapolni nizstrName = "Fred Smith"'pokaži polje s sporočilomIme sporočila MsgBoxEnd Sub

Če zaženete zgornjo kodo, se prikaže naslednje polje s sporočilom.

Fiksna spremenljivka niza

Pravzaprav obstajata dve vrsti niznih spremenljivk - fiksna in spremenljiva.

Spremenljivka niza »spremenljiva« (prikazana v prejšnjem primeru) omogoča, da je vaš niz poljubne dolžine. To je najpogostejše.

"Fiksna" spremenljivka niza določa velikost niza. Fiksni niz lahko vsebuje do 65.400 znakov.

1 Zatemni strName kot niz *20

Ko določite fiksno spremenljivko, se število znakov v spremenljivki zaklene, tudi če uporabljate manj znakov.

Upoštevajte presledke na spodnji sliki - spremenljivka ima oznake za ostale znake v nizu, saj je 'Fred Smith' manj kot 20 znakov.

Če pa ste deklarirali niz, ne da bi določili dolžino, bo niz vseboval le toliko znakov, kolikor mu je bilo posredovanih.

Razglasite spremenljivko niza na ravni modula ali na globalni ravni

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

Namesto tega lahko spremenljivke String 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 strName kot String

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

Če pa za razglasitev spremenljivke niza uporabite ključno besedo Public, se napaka ne bo pojavila in postopek bo deloval brezhibno.

Pretvorite vrednosti, shranjene kot niz

Včasih lahko imate vrednosti v Excelu, ki so shranjene kot besedilo - na primer, morda ste uvozili datoteko CSV, ki je morda namesto številk prinesla besedilo.

Upoštevajte, da je vrednost v A1 poravnana v levo, kar označuje besedilno vrednost.

Uporabite lahko a Funkcija VBA lahko uporabite za pretvorbo teh številk v besedilo

12345678 Sub ConvertValue ()'zapolni nizstrQty = Obseg ("A1")'vnesite dvojček z nizomdblQty = strQty'vnesite obseg s številkoObseg ("A1") = dblQtyEnd Sub

Ko zaženete kodo, se bo številka premaknila v desno, kar pomeni, da je zdaj shranjena kot številka.

To je še posebej uporabno, če prečkate veliko celic.

123456789101112131415 Sub ConvertValue ()Zatemni strQty kot niz, dblQty kot dvojnoZatemni rw kot celo število, i kot celo število'štejte vrstice za pretvorborw = Razpon ("A1", Razpon ("A1"). Konec (xlDown)). Vrstice. Število'prebrskajte celice in vsako pretvorite v številkoZa i = 0 Za rw - 1'zapolni nizstrQty = Obseg ("A1"). Odmik (i, 0)'vnesite dvojček z nizomdblQty = strQty'vnesite obseg s številkoRazpon ("A1"). Odmik (i, 0) = dblQtyNaprej iEnd Sub

Rezultat je, da se vse celice nato pretvorijo v številke

Utrujen od iskanja primerov kode VBA? Preizkusite AutoMacro!

Pretvori niz, shranjen kot vrednosti

Podobno lahko obstajajo vrednosti, ki jih morate pretvoriti iz niza v vrednost - na primer, če na telefonski številki potrebujete začetno ničlo.

123456789101112131415 Sub ConvertString ()Dim strPhone As String, dblPhone As DoubleZatemni rw kot celo število, i kot celo število'štejte vrstice za pretvorborw = Razpon ("A1", Razpon ("A1"). Konec (xlDown)). Vrstice. Število'prebrskajte celice in vsako pretvorite v številkoZa i = 0 Za rw - 1'zapolni nizdblPhone = Domet ("A1"). Odmik (i, 0)'vnesite dvojček z nizomstrPhone = "'0" & dblPhone'vnesite obseg s številkoRazpon ("A1"). Odmik (i, 0) = strphoneNaprej iEnd Sub

Upoštevajte, da morate besedilni niz začeti z apostrofom (') pred ničlo, da lahko Excelu poveste, naj vnese vrednost kot niz.

wave wave wave wave wave