VBA VAL | Kaip naudotis VBA VAL funkcija? (su pavyzdžiais)

„Excel VBA Val“ funkcija

„Val“ funkcija „vba“ priklauso po eilutės funkcijomis, tai taip pat yra integruota „VBA“ funkcija, naudojama norint gauti skaitines vertes iš duomenų kintamojo. Tarkime, jei kintamojo vertė yra A10, tada val funkcija duos mums 10 kaip išvestį, tai ima eilutę kaip argumentą ir grąžina eilutėje esančius skaičius.

VAL reiškia VBA pagal VBA terminologiją. Ši funkcija paverčia eilutę, kurioje yra skaičiai, į faktinį skaičių. Pvz., Jei pateiksite teksto eilutę „1234 Global“, ji grąžins tik skaitinę dalį, ty 1234.

Dažnai, kai atsisiunčiame ar gauname duomenis iš žiniatinklio numerių, paprastai jie yra saugomi kaip teksto vertės skaičiuoklėje. Teksto pavertimas skaičiais yra sunkiausia užduotis, jei nežinote teisingos „Excel“ funkcijos. Kaip įprastą darbalapio funkciją, mes turime funkciją, vadinamą VALUE, kuri konvertuos visas eilutes, nurodančias skaičius, į tikslius skaičius su paprasta funkcija darbalapyje. Šiame straipsnyje mes parodysime, kaip tai galima pasiekti naudojant VBA naudojant VAL funkciją.

Sintaksė

Ji turi tik vieną argumentą, ty eilutę.

  • Stygos : Tai tiesiog eilutės reikšmė, kurią bandome išgauti iš jos skaitinę dalį.

Taigi, funkcija VAL paverčia pateiktą eilutę skaitmenine reikšme.

Pastaba: VAL funkcija visada nepaiso tarpo simbolių ir toliau skaito skaičius po tarpo ar simbolių.

Pavyzdžiui, jei pateikiama eilutė yra „145 45 666 3“, ji nepaisys tarpo simbolių ir grąžins rezultatą kaip „145456663“.

VAL funkcijos „Excel VBA“ pavyzdžiai

Šį „VBA Val Function Excel“ šabloną galite atsisiųsti čia - „VBA Val Function Excel“ šablonas

1 pavyzdys

Išbandykime pirmąjį pavyzdį su paprastu skaičiumi, ty „14 56 47“

Žemiau pateiktas kodas skirtas jums.

Kodas:

 Sub Val_Pavyzdys1 () Dim k Kaip variantas k = Val ("14 56 47") 'Konvertuokite aukščiau nurodytą reikšmę kaip 145647 MsgBox k End Sub 

Kai paleisite VBA kodą naudodami F5 klavišą arba rankiniu būdu, rezultatas bus grąžintas kaip „145647“, ignoruojant visus tarpo simbolius, kaip parodyta žemiau esančiame paveikslėlyje.

2 pavyzdys

Šiame pavyzdyje pamatysime, koks eilutės rezultatas yra „+456“.

Kodas:

 Sub Val_Example2 () Dim k As variantas k = Val ("+ 456") 'Konvertuokite aukščiau nurodytą reikšmę kaip 456 MsgBox k End Sub 

Galite paleisti šį kodą rankiniu būdu arba naudodami klavišą F5, kad grąžintumėte reikšmę kaip 456, nepaisydami +456.

3 pavyzdys

Dabar leiskite pabandyti tą patį numerį su neigiamu ženklu.

Kodas:

 Sub Val_Pavyzdys3 () Dim k Kaip variantas k = Val ("- 456") 'Konvertuokite aukščiau nurodytą reikšmę kaip -456 MsgBox k End Sub 

Šis kodas grąžins vertę kaip -456 tik todėl, kad turėtų būti rodomas skaičius su operatoriaus ženklu.

4 pavyzdys

Dabar pabandykite išbandyti šią eilutę „100 kg“.

Kodas:

 Sub Val_Pavyzdys4 () Dim k As variantas k = Val ("100 KG") 'Nepaiso KG ir grąžina tik 100 MsgBox k End Sub 

Jei paleidžiate šį kodą rankiniu būdu arba naudodami klavišą F5, šis aukščiau nurodytas kodas nepaiso „KG“ ir VBA pranešimų laukelyje grąžina tik „100“.

5 pavyzdys

Dabar pabandykite datos eilutę, ty „2018-05-14“.

Kodas:

Sub Val_Pavyzdys5 () Dim k As variantas k = Val ("2019-05-14") 'Rezultatu pateikia 14. „MsgBox k End Sub“

Aukščiau pateiktas kodas kaip rezultatą pateikia 14, nes VAL funkcija gali gauti tik skaitinę vertę, kol randa kitą nei skaitmeninį simbolį.

6 pavyzdys

Dabar pabandykite eilutę „7459Good456“.

Kodas:

Sub Val_Example6 () Dim k As variantas k = Val ("7459 Geras 456") 'Rezultatu pateikia 7459. „MsgBox k End Sub“

Tai išgaus skaičius, kol ras ne skaitinį simbolį, ty rezultatas bus 7459. Nors po skaitinės reikšmės „Geras“ yra skaitinių reikšmių, po to skaičius visiškai ignoruojamas.

7 pavyzdys

Dabar pabandykite eilutės reikšmę „H 12456“.

Kodas:

Sub Val_Pavyzdys7 () Dim k As variantas k = Val ("H 12456") 'Rezultatu pateikia 0. „MsgBox k End Sub“

Paleiskite aukščiau pateiktą kodą naudodami sparčiąjį klavišą F5 arba rankiniu būdu, tada rezultatas bus grąžintas kaip nulis. Kadangi pirmasis mūsų pateiktos eilutės simbolis yra ne skaitmeninis simbolis, rezultatas yra lygus nuliui.

8 pavyzdys

Dabar išbandykite šią eilutę „24545. 2 “.

Kodas:

Sub Val_Pavyzdys8 () Dim k As variantas k = Val ("24545. 2") 'Rezultatu pateikia 24545,2. „MsgBox k End Sub“

Kodas grąžina rezultatą kaip 24545,2, nes VBA VAL funkcija simbolį tašką (.) Laiko dešimtainiu ženklu ir atitinkamai grąžina rezultatą.


$config[zx-auto] not found$config[zx-overlay] not found