Efnisyfirlit
Í þessari grein munum við ræða nokkrar aðferðir til að breyta streng í tölu í Excel VBA. Við munum sjá hvernig á að nota innbyggðu föllin og búa til sérsniðna aðgerð með því að nota þau til að umbreyta streng í tölu með VBA kóða dæmum.
Hlaða niður æfingarvinnubók
Sæktu þessa æfingabók til að æfa á meðan þú ert að lesa þessa grein.
Umbreyta streng í tölu.xlsm
3 leiðir til að umbreyta streng í tölustafi. í Excel VBA
1. Umbreyta streng í númer með tegundumbreytingaraðgerðum
Excel býður upp á nokkrar innbyggðar tegundabreytingaraðgerðir . Við getum notað þau í VBA kóðanum okkar til að umbreyta auðveldlega úr strenggagnagerð í mismunandi gagnagerð.
1.1 streng í heiltölu
Til að breyta streng í heiltala , við getum notað CInt aðgerðina í kóðanum okkar. CInt fallið tekur aðeins eina breytu og það ætti að vera tölugildi . Prófum eftirfarandi kóða í Visual Code Editor.
1957
Ýttu á F5 til að keyra kóði . Úttakið er sýnt í MsgBox .
CInt fallið breytti tölustrengnum gildinu (“12.3” ) í heiltölu 12.
Til að skilja meira um CInt fallið skaltu keyra eftirfarandi kóða í kóðaritlinum og fylgstu með niðurstöðunum .
5726
úttakið er hér íeftirfarandi skjámynd .
Kóðaskýring
Í þessum kóða notuðum við Fyrir... Næsta lykkja til að beita CInt fallinu á strengi frumna B3:B7. úttakin eru prentuð í hólfum C3:C7. Við notuðum Fruma aðgerðina til að tilgreina inntaksgildin og hvar á að prenta útgangsgildin.
Niðurstöður
CInt fallið breytir 25,5 í næstu heiltölu 26 . Aftur á móti breytti það 10,3 í 10, ekki 11 . Þegar tugatölugildi er minna en 0,5, sléttast fallið niður í sömu tölu. En tugastafurinn tölugildi strengsins breytist í næstu heiltölu tölu ef hún er jafn og eða stærri en .5.
Athugið
Heiltölugildið er á bilinu -32.768 til 32.767 . Ef við setjum tölugildi sem er utan þessa bils mun Excel sýna villu .
1.2 String to Long
CLng fallið breytir tölugildi strengs í langa gagnagerð . Það virkar svipað og CInt aðgerðin. Lykilmunurinn liggur í sviðinu sem er á milli -2.147.483.648 og 2.147.483.647.
The code to run is here below:3878
Hér innihalda frumur B3:B9 eitthvað tölulegt strengjagildi og umreiknaðar l ongar tölur eru í hólfum C3:C9. CLng fallið breytt -32800 og 32800 tókst að langri tölu sem CInt aðgerðin gat ekki. En það mun líka fá villu ef inntakið talnagildi er utan marka.
1.3 Strengur í aukastaf
Með því að nota CDec aðgerðina getum við breytt a tölulegt strengjagildi í aukastaf gagnagerð. Keyrðu eftirfarandi kóða til að umbreyta tölugildunum í hólfum B3:B7 í tugagagnagerðina.
2479
1.4 String to Single
Í þessu dæmi munum við breyta inntaksstrengjunum í eina gagnagerð (einn -nákvæmni floating-point) tölur. Til þess þurfum við að nota CSng aðgerðina .
Staka gagnagerðin er á bilinu- (i) -3.402823E38 til -1.401298E-45 fyrir neikvæðar tölur.
(ii) 1.401298E-45 til 3 3 3. jákvæðar tölur.
Keyddu eftirfarandi kóða í Visual Basic ritlinum.
4884
Í úttakinu eru frumur B3:B9 innihalda eitthvert tölulegt strengjagildi, og umreiknaðar stakar gagnategundartölur eru í hólfum C3:C9. En það mun líka fá villu ef inntakið talnagildi er utan sviðs.
1.5 strengur í tvöfaldan
Í þessu dæmi breytum við inntaksstrengjunum í tvöfalda gagnagerð (fljótandi með tvöfaldri nákvæmni -punktur) tölur. Fyrir þetta þurfum viðtil að nota CDbl aðgerðina .
Tvöfalda gagnagerðin er á bilinu- (i) -1.79769313486231E308 til -4.94065645841247E-324 fyrir neikvæðar tölur.
(ii) 4.94065645841247E-324 e-324 <39-324 <39-324 <39-324 <39-324 6. .
Keyddu eftirfarandi kóða í Visual Basic ritlinum.
6192
Í úttakinu innihalda frumur B3:B9 nokkur tölulegt strengjagildi og umbreytt tvöföld gagnagerð eru í hólfum C3:C9. En það mun líka fá villu ef inntakið tölugildi er utan marka.
1.6 Strengur við gjaldmiðil
Gagnategundin gjaldmiðil er vel þegar útreikningar tengjast peningum . Þar að auki, ef við viljum meiri nákvæmni í föstu – punkti útreikningi , er notkun gjaldmiðilsgagnategundarinnar góður kostur. Við þurfum að nota CCur fallið til að breyta streng í gjaldmiðilsgagnategund . Gagnategundin er á bilinu frá -922,337,203,685,477,5808 til 922,337,203,685,477.5808.
Kóði til umbreyta
2653
1.7 Strengur í bæti
CByte fallið breytir tölulegum strengjagildum í byte gagnategundina sem er á bilinu 0 til 255.
Kóði er eins ogfylgir :
9309
Í úttakinu eru frumur B3:B9 innihalda eitthvert tölulegt strengjagildi, og umbreytt bætagagnategundanúmer eru í hólfum C3:C9. En það mun líka fá villu ef inntakið talnagildi er utan sviðs.
Lesa meira: Hvernig á að breyta streng í langan með því að nota VBA í Excel
Svipuð lestur
- Breyta streng í tvöfaldan í Excel VBA (5 aðferðir)
- Hvernig á að umbreyta texta í tölur með Excel VBA (3 dæmi með fjölvi)
- Laga umbreyta í töluvillu í Excel (6 aðferðir)
- Hvernig á að breyta vísindalegri ritgerð í tölustafi í Excel (7 aðferðir)
2. Notkun sérsniðinnar VBA aðgerða til að athuga og breyta streng í tölu í Excel
Í þessari mynd ætlum við að búa til sérsniðna aðgerð til að umbreyta strengir við tölur. Við getum síðan notað þessa sérsniðnu aðgerð í vinnublaðinu okkar eins og innbyggða aðgerð . Í þessu dæmi munum við nota CInt aðgerðina til að umbreyta strengjum í heiltölur á meðan sérsniðnu fallið er búið til. Við gætum líka notað allar aðrar aðgerðir sem lýst er í aðferð 1 til að breyta strengjum í ólíkar gagnagerðir . Fylgdu nú skrefunum hér að neðan til að ná þessu.
Skref:
- Hér, í hólfum B3:B7, höfum við nokkrar tölulegur strengurgildi.
- Nú, í Visual Basic ritlinum, afritaðu og límdu eftirfarandi kóða og ýttu síðan á Ctrl + S til að vista
3421
- Í reit C3 , byrjaðu að slá fallsheitið ( StringToNumber ). Excel mun sjálfkrafa stinga upp á aðgerðinni til að nota. Ýttu á Tab takkann til að slá inn aðgerðina.
- Settu frumutilvísunina B3 sem einu rökin.
- Nú, ýttu á Enter eftir að þú hefur lokað svigunum.
- Finndu fyllingarhandfangið í neðra hægra horninu á hólfinu C3 til að beita fallið til frumna C4:C7.
- Lokaúttakið er eftirsóttu heiltölurnar úr strengjagildunum .
3. VBA kóða til að umbreyta völdum sviðum frumna í tölur í Excel
Í þessari mynd munum við umbreyta sviði af völdum frumum inniheldur strengjagildi í heiltölu. Ef einhver hólf inniheldur ekki tölulegt gildi í honum, verður úttakið strik (-) lína í staðinn . Fylgdu skrefunum :
- Veldu reiti B3:B6 með tölustrengi gildi og B7 sem inniheldur ekki tölustafur
- Í Visual Basic Editor afritið og líma eftirfarandi kóði .
4055
- Nú skaltu ýta á F5 til að keyra úttakið eins og sýnt er í eftirfarandi skjáskot .
Athugasemdir
- Við notuðum isNumeric fall í 2. og 3. aðferðinni í VBA kóðanum okkar sem athugar hvort hægt sé að breyta segð í tölu.
- Í aðferð 1 , notuðum við innbyggðar aðgerðir (CInt, CDbl, CSng…..) til að umbreyta tölugildum strengja í tölur . En ef það er ótölulegt gildi mun það sýna misræmisvillu .
Niðurstaða
Nú vitum við hvernig á að umbreyta strengjagildum í tölur í Excel. Vonandi myndi það hvetja þig til að nota þessa virkni meira sjálfstraust. Allar spurningar eða ábendingar, ekki gleyma að setja þær í athugasemdareitinn hér að neðan.