Kako pretvoriti string u broj u Excel VBA (3 metode)

  • Podijeli Ovo
Hugh West

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

Preuzmite radnu svesku za vježbe

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

Pretvorite string u broj.xlsm

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

1. Pretvorite niz u broj koristeći funkcije konverzije tipa

Excel nudi nekoliko ugrađenih funkcija konverzije tipa . Možemo ih koristiti u našem VBA kodu da lako konvertujemo iz niza podataka u različite tipove podataka.

1.1 String u cijeli broj

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

5772

Pritisnite F5 da pokrenite šifra . Izlaz je prikazan u MsgBox .

CInt funkcija konvertirala je numerički niz vrijednost (“12.3” ) na cijeli broj 12.

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

4733

izlaz je ovdje usljedeći screenshot .

Objašnjenje koda

U ovom kodu smo koristili Za… Sljedeća petlja za primjenu CInt funkcije na nizove ćelija B3:B7. izlazi se štampaju u ćelijama C3:C7. Koristili smo funkciju Ćelije da odredimo ulazne vrijednosti i gdje da ispišemo izlazne vrijednosti.

Rezultati

Funkcija CInt pretvorio 25,5 u sljedeći cijeli broj 26 . S druge strane, pretvorio je 10,3 u 10, a ne 11 . Kada je decimalna brojčana vrijednost manja od .5, funkcija zaokružuje na isti broj. Ali decimalna numerička vrijednost niza pretvara se u sljedeći cijeli broj 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

Funkcija CLng pretvara vrijednost numeričkog niza u long datatype . Radi slično kao i CInt funkcija. 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:3892

Ovdje ćelije B3:B9 sadrže neku numeričku vrijednost niza , a konvertirani l duži brojevi su u ćelijama C3:C9. CLng funkcija konvertirana -32800 i 32800 uspješno na duge brojeve što CInt funkcija nije mogla. Ali također će dobiti grešku ako je ulazna numerička vrijednost izvan raspona.

1.3 Niz u decimalni

Upotrebom CDec funkcije možemo konvertirati a numerička vrijednost niza u decimalni tip podataka. Pokrenite sljedeći kod da konvertujete numeričke vrijednosti u ćelijama B3:B7 u decimalni tip podataka.

5122

1.4 String u Single

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

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

(ii) 1.401298E-45 do 3. pozitivni brojevi.

Pokrenite sljedeći kod u vizualnom osnovnom uređivaču.

6014

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

1.5 String u Double

U ovom primjeru, pretvorit ćemo ulazne nizove u double datatype (plutajući tip dvostruke preciznosti -tačka) brojevi. Za ovo nam je potrebnoda koristite CDbl funkciju .

Dvostruki tip podataka u rasponu- (i) -1,79769313486231E308 do -4,94065645841247E-324 za negativni brojevi.

(ii) 4.94065645841247E-324 4.94065645841247E-324 4.94065645841247E-324 4.7 ="" strong=""> 1.7 1.3. .

Pokrenite sljedeći kod u vizualnom osnovnom uređivaču.

7417

U izlazu ćelije B3:B9 sadrže neke vrijednost numeričkog niza i konvertirani dvostruki brojevi tipa podataka su u ćelijama C3:C9. Ali također će dobiti grešku ako je unos numerička vrijednost je izvan raspona.

1.6 Niz prema valuti

Tip podataka valute je zgodan kada se kalkulacije odnose na novac . Štaviše, ako želimo više tačnosti u fiksnom tačkom kalkulaciji , upotreba tipa podataka valute je dobar izbor. Moramo koristiti CCur funkciju da pretvorimo niz u tip podataka valute . Tip podataka u rasponu od -922,337,203,685,477,5808 do 922,337,203,685,477,5808.

Kôd u konvertiraj numeričku vrijednost stringa 4> ćelija B3:B7 do tip podataka valute u ćelijama C3:C7 je ovdje ispod.

5171

1.7 Niz u bajt

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

Kôd je kaoslijedi :

9895

U izlazu, ćelije B3:B9 sadrže neku numeričku vrijednost niza, i pretvoreni bajt tip podataka brojeva su u ćelijama C3:C9. Ali također će dobiti grešku ako je ulazna numerička vrijednost izvan raspona.

Pročitajte više: Kako pretvoriti string u dug koristeći VBA u Excelu

Slična očitanja

  • Pretvoriti string u dvostruki u Excel VBA (5 metoda)
  • Kako pretvoriti tekst u broj pomoću Excel VBA (3 primjera s makroima)
  • Popraviti grešku pretvaranja u broj u Excelu (6 metoda)
  • Kako pretvoriti znanstvenu notaciju u broj u Excelu (7 metoda)

2. Upotreba prilagođene VBA funkcije za provjeru i pretvaranje niza u broj u Excelu

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, koristit ćemo CInt funkciju da pretvoriti stringove u cijele brojeve dok kreiramo prilagođenu funkciju. Također možemo koristiti sve druge funkcije opisane u metodi 1 da pretvorimo stringove u različite tipove podataka . Sada slijedite dolje navedene korake da biste to postigli.

Koraci:

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

  • Sada, u vizualnom osnovnom uređivaču, kopirajte i zalijepite sljedeći kod i zatim  pritisnite Ctrl + S da spremite
1817
  • U ćeliju C3 , počnite kucati ime funkcije ( StringToNumber ). Excel će automatski predložiti funkciju za korištenje. Pritisnite Tab tipku da uđete u funkciju.

  • Postavite referencu ćelije B3 kao jedini argument.

  • Sada pritisnite Enter nakon zatvaranja zagrada.

  • Locirajte ručicu za popunjavanje u desnom donjem uglu ćelije C3 da primijenite funkcija ćelijama C4:C7.

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

3. VBA kod za pretvaranje odabranog raspona ćelija u brojeve u Excelu

U ovoj ilustraciji ćemo konvertirati opseg od odabranih ćelija koji sadrži niz vrijednosti u cijelim brojevima. Ako bilo koja ćelija sadrži nenumeričku vrijednost u sebi, izlaz će biti crtica (-) linija umjesto . Slijedite korake :

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

  • U Visual Basic Editor kopiji i zalijepite sljedeće kod .
2054
  • Sada pritisnite F5 da pokrenete izlaz kao što je prikazano na sljedeći screenshot .

Napomene

  • Koristili smo jeNumerička funkcija u 2. i 3. metodi u našem VBA kodu koja provjerava može li se izraz pretvoriti u broj.
  • In metoda 1 , koristili smo ugrađene funkcije (CInt, CDbl, CSng…..) da pretvorimo numeričke vrijednosti niza u brojeve . Ali ako postoji nenumerička vrijednost , prikazat će grešku neusklađenosti .

Zaključak

Sada znamo kako pretvoriti vrijednosti niza u brojeve u Excelu. Nadamo se da bi vas to ohrabrilo da ovu funkciju koristite s većim samopouzdanjem. Bilo kakva pitanja ili sugestije ne zaboravite ih staviti u polje za komentare ispod.

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.