VBA VAL | Paano gamitin ang VBA VAL Function? (na may mga Halimbawa)

Pag-andar ng Excel VBA Val

Val function sa vba ay dumating sa ilalim ng mga pag-andar ng string, ito rin ay isang inbuilt na pag-andar sa VBA na ginagamit upang makuha ang mga numerong halaga mula sa isang variable ng data, ipagpalagay kung ang isang variable ay may halaga bilang A10 pagkatapos ay bibigyan tayo ng val function na 10 bilang output, tumatagal ito ng isang string bilang isang pagtatalo at ibabalik ang mga bilang na naroroon sa string.

Ang VAL ay nangangahulugang VALUE sa terminolohiya ng VBA. Ginagawa ng pagpapaandar na ito ang string na naglalaman ng mga numero sa isang aktwal na numero. Halimbawa, kung ibibigay mo ang string ng teksto na "1234 Global" ibabalik lamang nito ang bilang na bilang ayon sa numero na 1234.

Kadalasan ang mga oras, kapag nag-download o nakakakuha kami ng data mula sa mga numero sa web, karaniwang nakaimbak bilang mga halaga ng teksto sa isang spreadsheet. Ang pag-convert ng teksto sa mga numero ay ang pinakamahirap na gawain kung hindi mo alam ang tamang pagpapaandar sa excel. Bilang isang regular na pag-andar ng worksheet, mayroon kaming isang function na tinatawag na VALUE na magpapalit ng lahat ng string na kumakatawan sa mga numero sa eksaktong mga numero na may isang simpleng pag-andar sa worksheet. Sa artikulong ito, ipapakita namin kung paano ito makakamtan sa VBA gamit ang pagpapaandar ng VAL.

Syntax

Isa lang ang pagtatalo nito ibig sabihin, String.

  • String: Ito ay simpleng halaga ng string na sinusubukan naming makuha ang numerong bahagi dito.

Kaya, ang pag-andar ng VAL ay nagko-convert ng ibinigay na string sa isang numerong halaga.

Tandaan: Palaging binabalewala ng pag-andar ng VAL ang mga character na space at patuloy na binabasa ang mga numero pagkatapos ng character na space o character.

Halimbawa, kung ang naibigay na string ay "145 45 666 3" hindi nito papansinin ang mga character na space at ibabalik ang resulta bilang "145456663".

Mga halimbawa ng VAL Function sa Excel VBA

Maaari mong i-download ang VBA Val Function Excel Template na ito dito - VBA Val Function Excel Template

Halimbawa # 1

Subukan natin ang unang halimbawa sa simpleng numero hal. "14 56 47"

Ang code sa ibaba ay para sa iyo.

Code:

 Sub Val_Example1 () Dim k Bilang Variant k = Val ("14 56 47") 'I-convert ang nasa itaas bilang 145647 MsgBox k End Sub 

Kapag nagpatakbo ka ng VBA code gamit ang F5 key o manu-mano pagkatapos, ibabalik nito ang resulta bilang "145647" sa pamamagitan ng pagwawalang-bahala sa lahat ng mga character na puwang tulad ng ipinakita sa imaheng nasa ibaba.

Halimbawa # 2

Sa halimbawang ito, makikita natin kung ano ang resulta ng string na "+456".

Code:

 Sub Val_Example2 () Dim k Bilang Variant k = Val ("+ 456") 'I-convert ang nasa itaas bilang 456 MsgBox k End Sub 

Maaari mong patakbuhin ang code na ito nang manu-mano o sa pamamagitan ng F5 key upang maibalik ang halaga bilang 456 sa pamamagitan ng pagwawalang-bahala sa +456.

Halimbawa # 3

Ngayon hayaan mong subukan ang parehong numero sa isang negatibong pag-sign.

Code:

 Sub Val_Example3 () Dim k Bilang Variant k = Val ("- 456") 'I-convert ang nasa itaas bilang -456 MsgBox k End Sub 

Ibabalik lamang ng code na ito ang halaga bilang -456 dahil dapat ipakita ang numero na may sign ng operator.

Halimbawa # 4

Hayaan mong subukan ang string na "100 Kg".

Code:

 Sub Val_Example4 () Dim k Bilang Variant k = Val ("100 KG") 'Hindi pinapansin ang KG at nagbabalik lamang ng 100 MsgBox k End Sub 

Kung manu-mano mong pinatakbo ang code na ito o gumagamit ng F5 key kung gayon ang code sa itaas na ito ay hindi pinapansin ang "KG" at ibabalik lamang ang "100" sa kahon ng mensahe ng VBA.

Halimbawa # 5

Ngayon subukan ang string ng petsa ibig sabihin ay "14-05-2018".

Code:

 Sub Val_Example5 () Dim k Bilang Variant k = Val ("14-05-2019") 'Bumabalik 14 bilang resulta. MsgBox k End Sub 

Ang code sa itaas ay nagbabalik ng 14 bilang resulta dahil ang pag-andar ng VAL ay makakakuha lamang ng numerong halaga hanggang sa makahanap ito ng iba bukod sa numerong karakter.

Halimbawa # 6

Ngayon subukan ang string na "7459Good456".

Code:

 Sub Val_Example6 () Dim k Bilang Variant k = Val ("7459 Magandang 456") 'Ibinabalik ang 7459 bilang resulta. MsgBox k End Sub 

Aalisin nito ang mga numero hanggang sa mahahanap nito ang di-numerong character ibig sabihin ang resulta ay 7459. Kahit na mayroong mga numerong halaga pagkatapos ng hindi numerong halaga na "Mabuti", ganap na hindi nito pinapansin ang mga numero pagkatapos nito.

Halimbawa # 7

Ngayon subukan ang halaga ng string na "H 12456".

Code:

 Sub Val_Example7 () Dim k Bilang Variant k = Val ("H 12456") 'Nagbabalik 0 bilang resulta. MsgBox k End Sub 

Patakbuhin ang code sa itaas gamit ang shortcut key F5 o manu-mano pagkatapos ay ibabalik nito ang resulta bilang zero. Sapagkat ang pinakaunang karakter ng string na aming naibigay ay isang hindi numerong character kaya, ang resulta ay zero.

Halimbawa # 8

Ngayon subukan ang string na ito na "24545. 2 ".

Code:

 Sub Val_Example8 () Dim k Bilang Variant k = Val ("24545. 2") 'Bumabalik 24545.2 bilang resulta. MsgBox k End Sub 

Ibinabalik ng code ang resulta bilang 24545.2 dahil isinasaalang-alang ng pagpapaandar ng VBA VAL ang character dot (.) Bilang decimal character at ibabalik ang resulta nang naaayon.