Sadržaj
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
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.