Kako pretvoriti niz u broj u programu Excel VBA (3 metode)

  • Podijeli Ovo
Hugh West

U ovom ćemo članku raspravljati o nekoliko metoda za pretvaranje niza u broj u programu Excel VBA. Vidjet ćemo kako koristiti ugrađene funkcije i izraditi prilagođenu funkciju pomoću njih za pretvaranje niza u broj s primjerima VBA koda.

Preuzmi radnu bilježnicu

Preuzmite ovu radnu bilježnicu za vježbanje dok čitate ovaj članak.

Pretvori niz u broj.xlsm

3 načina za pretvaranje niza u broj u programu Excel VBA

1. Pretvorite niz u broj pomoću funkcija pretvorbe tipa

Excel nudi nekoliko ugrađenih funkcija pretvorbe tipa . Možemo ih upotrijebiti u našem VBA kodu za jednostavnu pretvorbu iz vrste podataka niza u različite vrste podataka.

1.1 Niz u cijeli broj

Za pretvaranje niza u cijeli broj , možemo koristiti CInt funkciju u našem kodu. Funkcija CInt uzima samo jedan argument i to bi trebala biti numerička vrijednost . Pokušajmo sa sljedećim kodom u uređivaču vizualnog koda.

4539

Pritisnite F5 da pokrenete kod . Izlaz je prikazan u MsgBox .

Funkcija CInt pretvorila je numerički niz vrijednost (“12.3” ) u cijeli broj 12.

Da biste saznali više o CInt funkciji , pokrenite sljedeće kodirajte u uređivaču koda i promatrajte rezultate .

2702

Izlaz je ovdje usljedeći snimak zaslona .

Objašnjenje koda

U ovom kodu upotrijebili smo Za… Sljedeća petlja za primjenu CInt funkcije na nizove ćelija B3:B7. Izlazi ispisuju se u ćelijama C3:C7. Koristili smo funkciju Ćelije da odredimo ulazne vrijednosti i gdje ispisati izlazne vrijednosti.

Rezultati

Funkcija CInt pretvoreno 25,5 u sljedeći cijeli broj 26 . S druge strane, konvertirao je 10,3 u 10, a ne 11 . Kada je decimalna numerička vrijednost manja od 0,5, funkcija zaokružuje na isti broj. Ali decimalna numerička vrijednost niza pretvara se u sljedeći cijeli broj ako je jednak ili veći od .5.

Napomena

Cjelobrojna vrijednost ima raspon između -32,768 do 32,767 . Ako stavimo brojčanu vrijednost koja je izvan ovog raspona , Excel će pokazati grešku .

1.2 String to Long

CLng funkcija pretvara numeričku vrijednost niza u long tip podataka . Djeluje slično funkciji CInt. Ključna razlika leži u njegovom rasponu koji je između -2,147,483,648 i 2,147,483,647.

The code to run is here below:4169

Ovdje ćelije B3:B9 sadrže neke brojčane vrijednosti niza , a pretvoreni l dugi brojevi su u ćelijama C3:C9. CLng funkcija konvertirala je -32800 i 32800 uspješno do dugih brojeva koje CInt funkcija nije mogla. Ali također će dobiti pogrešku ako je unos brojčane vrijednosti izvan raspona.

1.3 Niz u decimalni

Upotrebom CDec funkcije možemo konvertirati a vrijednost numeričkog niza u decimalni tip podataka. Pokrenite sljedeći kod za konvertiranje numeričkih vrijednosti u ćelijama B3:B7 u decimalni tip podataka.

4953

1.4 String to Single

U ovom primjeru, pretvorit ćemo ulazne nizove u single datatype (single -precizni brojevi s pomičnim zarezom. Za ovo trebamo upotrijebiti CSng funkciju .

Pojedinačni tip podataka je u rasponu- (i)  -3.402823E38 do -1.401298E-45 za negativne brojeve.

(ii) 1.401298E-45 do 3.402823E38 za pozitivni brojevi.

Pokrenite sljedeći kod u editoru Visual Basic.

4683

U izlazu, ćelije B3:B9 sadrže neku numeričku vrijednost niza, i konvertirani pojedinačni brojevi tipova podataka su u ćelijama C3:C9. Ali također će dobiti pogrešku ako je ulazna numerička vrijednost izvan raspona.

1.5 Dupliranje niza

U ovom primjeru, pretvorit ćemo ulazne nizove u dvostruki tip podataka (plutajući s dvostrukom preciznošću -bod) brojevi. Za ovo nam je potrebnoza korištenje CDbl funkcije .

Dvostruki tip podataka je u rasponu- (i) -1.79769313486231E308 do -4.94065645841247E-324 za negativni brojevi.

(ii) 4.94065645841247E-324 do 1.79769313486232E308> broj pozitivno .

Pokrenite sljedeći kod u Visual Basic Editoru.

4156

U izlazu ćelije B3:B9 sadrže nešto numerička vrijednost niza i pretvoreni dvostruki brojevi tipa podataka nalaze se u ćelijama C3:C9. Ali također će dobiti pogrešku ako je unos brojčana vrijednost je izvan raspona.

1.6 Niz u valutu

Vrsta podataka valuta je korisna kada se izračuni odnose na novac . Štoviše, ako želimo veću točnost u fiksnom bodu izračunu , upotreba tipa podataka valute je dobar izbor. Trebamo upotrijebiti CCur funkciju za pretvaranje niza u valutni tip podataka . Tip podataka raspon od -922,337,203,685,477.5808 do 922,337,203,685,477.5808.

Kod za pretvorbu numeričke vrijednosti niza ćelija B3:B7 do vrsta podataka o valuti u ćelijama C3:C7 je ovdje ispod.

7658

1.7 Niz u bajt

Funkcija CByte pretvara numeričke vrijednosti niza u tip podataka bajta koji se kreće od 0 do 255.

Kod je asslijedi :

7426

U izlazu, ćelije B3:B9 sadrže neke brojčane vrijednosti niza, i brojevi tipova podataka pretvorenih bajtova nalaze se u ćelijama C3:C9. Ali također će dobiti pogrešku ako je unos brojčane vrijednosti izvan raspona.

Pročitaj više: Kako pretvoriti niz u dugi koristeći VBA u programu Excel

Slična čitanja

  • Pretvorite niz u dvostruki u programu Excel VBA (5 metoda)
  • Kako pretvoriti tekst u broj pomoću programa Excel VBA (3 primjera s makronaredbama)
  • Popraviti pogrešku pretvaranja u broj u programu Excel (6 metoda)
  • Kako pretvoriti znanstveni zapis u broj u Excelu (7 metoda)

2. Korištenje prilagođene VBA funkcije za provjeru i pretvaranje niza u broj u programu Excel

U ovoj ilustraciji napravit ćemo prilagođenu funkciju za pretvaranje nizove u brojeve. Zatim možemo koristiti ovu prilagođenu funkciju u našem radnom listu kao ugrađenu funkciju . U ovom primjeru upotrijebit ćemo CInt funkciju za konvertiranje nizova u cijele brojeve dok stvaramo prilagođenu funkciju. Također bismo mogli koristiti sve ostale funkcije opisane u metodi 1 za pretvaranje nizova u različite tipove podataka . Sada slijedite korake u nastavku da biste to postigli.

Koraci:

  • Ovdje, u ćelijama B3:B7, imamo neke numerički nizvrijednosti.

  • Sada, u editoru Visual Basic, kopirajte i zalijepite sljedeći kod i zatim  pritisnite Ctrl + S da spremite
1785
  • U ćeliju C3 , počnite upisivati ​​ naziv funkcije ( StringToNumber ). Excel će automatski predložiti funkciju za korištenje. Pritisnite tipku Tab za ulazak u funkciju.

  • Stavite referencu ćelije B3 kao jedini argument.

  • Sada pritisnite Enter nakon zatvaranja zagrada.

  • Pronađite ručicu za popunjavanje u donjem desnom kutu ćelije C3 za primjenu funkcija u ćelije C4:C7.

  • Konačni izlaz su željeni cijeli brojevi iz vrijednosti niza .

3. VBA kôd za pretvaranje odabranog raspona ćelija u brojeve u programu Excel

U ovoj ilustraciji pretvorit ćemo raspon od odabranih ćelija koje sadrže vrijednosti niza do cijelih brojeva. Ako bilo koja ćelija u sebi sadrži nenumeričku vrijednost, izlaz će biti crtica (-) umjesto . Slijedite korake :

  • Odaberite ćelije B3:B6 koje imaju numeričke nizove vrijednosti i B7 koje sadrže nenumerički

  • U Visual Basic Editor kopirajte i zalijepite sljedeće kod .
9188
  • Sada pritisnite F5 da pokrenete izlaz kao što je prikazano u sljedeću snimku zaslona .

Napomene

  • Koristili smo isNumeric funkcija u 2. i 3. metodi u našem VBA kodu koja provjerava može li se izraz pretvoriti u broj.
  • U metodi 1 koristili smo ugrađene funkcije (CInt, CDbl, CSng…..) za konvertiranje numeričkih vrijednosti niza u brojeve . Ali ako postoji nenumerička vrijednost , prikazat će pogrešku nepodudaranja .

Zaključak

Sada znamo kako pretvoriti vrijednosti niza u brojeve u Excelu. Nadamo se da će vas to potaknuti da s više samopouzdanja koristite ovu funkciju. Sva pitanja ili prijedloge ne zaboravite staviti u okvir za komentare ispod.

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.