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