„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į 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 pateikiate tekstinę 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, vaizduojanč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 „String“.

- Stygos : Tai tiesiog eilutės reikšmė, kurią bandome išgauti 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ų.Pvz., Jei pateikiama eilutė yra „145 45 666 3“, ji nepaisys tarpo simbolių ir grąžins rezultatą kaip „145456663“.
VAL funkcijos „Excel VBA“ pavyzdžiai
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į skaičių su neigiamu ženklu.
Kodas:
Sub Val_Pavyzdys3 () Dim k As 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 vertės „Geras“ yra skaitinių reikšmių, po to visiškai nepaisoma.

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 nurodytą 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ą.
