Paano I-convert ang String sa Numero sa Excel VBA (3 Paraan)

  • Ibahagi Ito
Hugh West

Sa artikulong ito, tatalakayin natin ang ilang paraan para i-convert ang string sa numero sa Excel VBA. Makikita natin kung paano gamitin ang mga built-in na function at gumawa ng custom na function gamit ang mga ito para i-convert ang string sa numero gamit ang mga halimbawa ng VBA code.

I-download ang Practice Workbook

I-download ang workbook ng pagsasanay na ito upang mag-ehersisyo habang binabasa mo ang artikulong ito.

I-convert ang String sa Numero.xlsm

3 Mga Paraan upang I-convert ang String sa Numero sa Excel VBA

1. I-convert ang String sa Numero Gamit ang Uri ng Conversion Function

Ang Excel ay nagbibigay ng ilang built-in na type conversion function . Magagamit namin ang mga ito sa aming VBA code upang madaling ma-convert mula sa string datatype patungo sa iba't ibang uri ng data.

1.1 String sa Integer

Upang i-convert ang string sa integer , maaari naming gamitin ang CInt function sa aming code. Ang CInt function ay kumukuha lamang ng isang argument at iyon ay dapat na isang numeric value . Subukan natin ang sumusunod na code sa Visual Code Editor.

7857

Pindutin ang F5 upang patakbuhin ang ang code . Ang output ay ipinapakita sa MsgBox .

Ang CInt function na na-convert ang numeric string value (“12.3” ) sa isang integer 12.

Upang maunawaan ang higit pa tungkol sa CInt function , patakbuhin ang sumusunod code sa editor ng code at obserbahan ang mga resulta .

2145

Ang output ay nandito sakasunod ng screenshot .

Paliwanag ng Code

Sa code na ito, ginamit namin ang Para sa… Susunod na loop upang ilapat ang CInt function sa mga string ng mga cell B3:B7. Ang mga output ay naka-print sa mga cell C3:C7. Ginamit namin ang Cells function upang tukuyin ang input value at kung saan ipi-print ang output value.

Resulta

Ang CInt function na-convert ang 25.5 sa susunod na integer number 26 . Sa kabilang banda, na-convert nito ang 10.3 sa 10, hindi 11 . Kapag ang isang decimal na numeric na halaga ay mas mababa sa .5, ang function ay umiikot pababa sa parehong numero. Ngunit ang decimal numeric string value ay nagiging susunod na integer number kung ito ay katumbas ng o mas malaki sa .5.

Tandaan

Ang integer value ay may hanay sa pagitan ng -32,768 hanggang 32,767 . Kung maglalagay kami ng numeric na value na wala sa saklaw na ito , magpapakita ang Excel ng error .

1.2 String to Long

Ang CLng function ay nagko-convert ng numeric string value sa isang mahabang datatype . Ito ay gumagana nang katulad sa CInt function. Ang pangunahing pagkakaiba ay nasa range nito na nasa pagitan ng -2,147,483,648 at 2,147,483,647.

The code to run is here below:6452

Dito, ang mga cell B3:B9 ay naglalaman ng ilang numerical string value , at na-convert na l ng mga numero ay nasa mga cell C3:C9. Ang CLng function na-convert -32800 at 32800 matagumpay sa mahabang numero na hindi magawa ng CInt function . Ngunit magkakaroon din ito ng error kung ang input numeric value ay wala sa saklaw.

1.3 String to Decimal

Gamit ang CDec function maaari nating convert isang numerical string value sa isang decimal datatype. Patakbuhin ang ang sumusunod na code sa convert ang numerical value sa mga cell B3:B7 sa decimal datatype.

2863

1.4 String to Single

Sa halimbawang ito, gagawin natin ang input string sa single datatype (single -precision floating-point) na mga numero. Para dito, kailangan nating gamitin ang CSng function .

Ang iisang hanay ng datatype- (i)  -3.402823E38 hanggang -1.401298E-45 para sa negatibong mga numero.

(ii) 1.401298E-45 <3.4>hanggang sa 4>4>4> positibong mga numero.

Patakbuhin ang sumusunod na code sa visual basic editor.

7874

Sa output, ang mga cell B3:B9 naglalaman ng ilang numerical string value, at na-convert na solong datatype na numero ay nasa mga cell C3:C9. Ngunit magkakaroon din ito ng error kung ang input numeric value ay wala sa saklaw.

1.5 String to Double

Sa halimbawang ito, gagawin natin ang input strings sa double datatype (double-precision floating -punto) mga numero. Para dito, kailangan natinupang gamitin ang CDbl function .

Ang dobleng hanay ng datatype- (i) -1.79769313486231E308 hanggang -4.94065645841247E-324 para sa negatibong mga numero.

(ii) 4.94065645841247E-324> <4.94065645841247E-324> <4.94065647E-324> <4.947E-324> <4.94065647E-324> <1247E. .

Patakbuhin ang sumusunod na code sa visual basic editor.

6022

Sa output, ang mga cell B3:B9 ay naglalaman ng ilang numerical string value at na-convert na double datatype na numero ay nasa mga cell C3:C9. Ngunit magkakaroon din ito ng error kung ang input numeric value ay wala sa saklaw.

1.6 String sa Currency

Ang uri ng data ng pera ay madaling gamitin kapag ang mga kalkulasyon ay nauugnay sa pera . Bukod dito, kung gusto namin ng higit na katumpakan sa fixed point calculation , ang paggamit ng currency data type ay isang magandang pagpipilian. Kailangan nating gamitin ang CCur function upang i-convert ang isang string sa isang uri ng data ng pera . Ang uri ng data na ay mula -922,337,203,685,477.5808 hanggang 922,337,203,685,477.5808.

Code sa i-convert ang numeric string value 4> ng mga cell B3:B7 hanggang uri ng data ng pera sa mga cell C3:C7 ay narito sa ibaba.

8264

1.7 String to Byte

Ang CByte function ay nagko-convert ng mga numerical string value sa byte na uri ng data na mula sa 0 hanggang 255.

Ang code ay bilangsumusunod :

6146

Sa output, mga cell B3:B9 naglalaman ng ilang numerical string value, at na-convert na byte data type na numero ay nasa mga cell C3:C9. Ngunit magkakaroon din ito ng error kung ang input numeric value ay wala sa saklaw.

Magbasa nang higit pa: Paano I-convert ang String sa Mahaba Gamit ang VBA sa Excel

Mga Katulad na Pagbasa

  • I-convert ang String sa Double sa Excel VBA (5 Paraan)
  • Paano I-convert ang Text sa Numero gamit ang Excel VBA (3 Halimbawa na may Macros)
  • Ayusin ang Convert to Number Error sa Excel (6 na Paraan)
  • Paano I-convert ang Scientific Notation sa Numero sa Excel (7 Methods)

2. Paggamit ng Custom na VBA Function para Suriin at I-convert ang String sa Numero sa Excel

Sa paglalarawang ito, gagawa tayo ng custom na function para sa pag-convert mga string sa mga numero. Maaari naming gamitin ang ang custom na function na ito sa aming worksheet tulad ng isang built-in na function . Sa halimbawang ito, gagamitin namin ang CInt function upang i-convert ang mga string sa integer habang ginagawa ang custom na function. Maaari rin naming gamitin ang lahat ng iba pang mga function na inilarawan sa paraan 1 para i-convert ang mga string sa iba't ibang uri ng data . Ngayon, sundin ang mga hakbang sa ibaba upang magawa ito.

Mga Hakbang:

  • Dito, sa mga cell B3:B7, mayroon kaming ilan numerical stringvalue.

  • Ngayon, sa visual basic editor, kopyahin at i-paste ang sumusunod na code at pagkatapos ay  pindutin ang Ctrl + S para i-save ang
3727
  • Sa cell C3 , simulan ang pag-type ang pangalan ng function ( StringToNumber ). Ang Excel ay awtomatikong magmumungkahi ang function na gagamitin. Pindutin ang ang Tab key upang ipasok ang function.

  • Ilagay ang cell reference B3 bilang ang tanging argumento.

  • Ngayon, pindutin ang Enter pagkatapos isara ang mga panaklong.

  • Hanapin ang Fill Handle sa kanang ibabang sulok ng cell C3 para ilapat ang function sa mga cell C4:C7.

  • Ang huling output ay ang hinahangad na integer na numero mula sa mga string value .

3. VBA Code para Mag-convert ng Napiling Saklaw ng Mga Cell sa Mga Numero sa Excel

Sa paglalarawang ito, magko-convert kami ng hanay ng mga napiling cell naglalaman ng mga string value sa mga integer na numero. Kung ang anumang cell ay naglalaman ng isang non-numeric value dito, ang output ay magiging isang dash (-) line sa halip . Sundin ang mga hakbang :

  • Pumili ng mga cell B3:B6 may numeric string mga value at B7 na naglalaman isang hindi numeric

  • Sa Visual Basic Editor kopya at i-paste ang ang sumusunod code .
5501
  • Ngayon, pindutin ang F5 upang patakbuhin ang output tulad ng ipinapakita sa ang sumusunod na screenshot .

Mga Tala

  • Ginamit namin ang isNumeric function sa ika-2 at ika-3 mga pamamaraan sa aming VBA code na tumitingin kung ang isang expression ay maaaring ma-convert sa isang numero.
  • Sa na pamamaraan 1 , gumamit kami ng mga built-in na function (CInt, CDbl, CSng…..) para i-convert ang mga numeric string value sa numero . Ngunit kung mayroong hindi numeric na value , magpapakita ito ng mismatch error .

Konklusyon

Ngayon, alam na natin kung paano i-convert ang mga string value sa mga numero sa Excel. Sana, hinihikayat ka nitong gamitin ang functionality na ito nang mas may kumpiyansa. Anumang mga tanong o mungkahi ay huwag kalimutang ilagay ang mga ito sa kahon ng komento sa ibaba.

Si Hugh West ay isang napakaraming Excel trainer at analyst na may higit sa 10 taong karanasan sa industriya. May hawak siyang Bachelor's degree sa Accounting and Finance at Master's degree sa Business Administration. Si Hugh ay may hilig sa pagtuturo at nakabuo ng kakaibang diskarte sa pagtuturo na madaling sundin at maunawaan. Ang kanyang dalubhasang kaalaman sa Excel ay nakatulong sa libu-libong mag-aaral at propesyonal sa buong mundo na mapabuti ang kanilang mga kasanayan at maging mahusay sa kanilang mga karera. Sa pamamagitan ng kanyang blog, ibinahagi ni Hugh ang kanyang kaalaman sa mundo, nag-aalok ng mga libreng Excel tutorial at online na pagsasanay upang matulungan ang mga indibidwal at negosyo na maabot ang kanilang buong potensyal.