Hvernig á að breyta streng í númer í Excel VBA (3 aðferðir)

  • Deildu Þessu
Hugh West

Í þ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 af hólfum B3:B7 til gagnategund gjaldmiðils í hólfum C3:C7 er hér fyrir neðan.

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.

Hugh West er mjög reyndur Excel þjálfari og sérfræðingur með yfir 10 ára reynslu í greininni. Hann er með BA gráðu í bókhaldi og fjármálum og meistaragráðu í viðskiptafræði. Hugh hefur ástríðu fyrir kennslu og hefur þróað einstaka kennsluaðferð sem auðvelt er að fylgja eftir og skilja. Sérfræðiþekking hans á Excel hefur hjálpað þúsundum nemenda og fagfólks um allan heim að bæta færni sína og skara fram úr í starfi. Í gegnum bloggið sitt deilir Hugh þekkingu sinni með heiminum og býður upp á ókeypis Excel námskeið og netþjálfun til að hjálpa einstaklingum og fyrirtækjum að ná fullum möguleikum.