VBA VAL | Kuinka käyttää VBA VAL -toimintoa? (esimerkkien kanssa)

Excel VBA Val -toiminto

VBA: n Val-funktio kuuluu merkkijonofunktioiden alle, se on myös sisäänrakennettu funktio VBA: ssa, jota käytetään lukuarvojen saamiseen tietomuuttujasta. Oletetaan, että jos muuttujalla on arvo A10, niin val-funktio antaa meille 10 lähtöä, se ottaa merkkijonon argumenttina ja palauttaa merkkijonossa olevat numerot.

VAL tarkoittaa VBA: ta VBA-terminologiassa. Tämä toiminto muuntaa numerot sisältävän merkkijonon todelliseksi numeroksi. Jos esimerkiksi syötät tekstimerkkijonon "1234 Global", se palauttaa vain numeerisen osan eli 1234.

Usein, kun lataamme tai haemme tietoja verkkonumeroista, tallennetaan yleensä tekstiarvoina laskentataulukkoon. Tekstin muuntaminen numeroiksi on vaikein tehtävä, jos et ole tietoinen Excelin oikeasta toiminnosta. Tavallisena laskentataulukko-funktiona meillä on funktio nimeltä VALUE, joka muuntaa kaikki numeroita edustavat merkkijonot tarkkoiksi numeroiksi yksinkertaisella funktiolla laskentataulukossa. Tässä artikkelissa näytetään, miten tämä voidaan saavuttaa VBA: ssa VAL-funktiota käyttämällä.

Syntaksi

Sillä on vain yksi argumentti eli merkkijono.

  • Merkkijono: Se on yksinkertaisesti merkkijonoarvo, jota yritämme saada siitä numeerisen osan.

Joten VAL-funktio muuntaa toimitetun merkkijonon numeeriseksi arvoksi.

Huomaa: VAL-toiminto jättää välilyönnit aina huomiotta ja jatkaa numeroiden lukemista välilyönnin tai -merkkien jälkeen.

Esimerkiksi, jos toimitettu merkkijono on ”145 45 666 3”, se jättää välilyönnit huomiotta ja palauttaa tuloksen nimellä ”145456663”.

Esimerkkejä VAL-toiminnosta Excel VBA: ssa

Voit ladata tämän VBA Val Function Excel -mallin täältä - VBA Val Function Excel -malli

Esimerkki 1

Kokeillaan ensimmäistä esimerkkiä yksinkertaisella numerolla eli "14 56 47"

Alla oleva koodi on sinulle.

Koodi:

 Sub Val_Example1 () Dim k Variantti k = Val ("14 56 47") 'Muunna yllä oleva 145457 MsgBox k End Sub 

Kun suoritat VBA-koodin F5-näppäimellä tai manuaalisesti, se palauttaa tuloksen nimellä ”145647” jättämällä huomiotta kaikki välilyönnit, kuten alla olevassa kuvassa näkyy.

Esimerkki 2

Tässä esimerkissä näemme merkkijonon tuloksen "+456".

Koodi:

 Sub Val_Example2 () Dim k Variantti k = Val ("+ 456") 'Muunna yllä oleva 456 MsgBox k End Sub 

Voit suorittaa tämän koodin manuaalisesti tai F5-avaimen avulla palauttaaksesi arvon arvona 456 jättämällä huomiotta +456.

Esimerkki 3

Kokeile nyt samaa numeroa negatiivisella merkillä.

Koodi:

 Sub Val_Example3 () Dim k Vaihtoehto k = Val ("- - 456") 'Muunna yllä oleva arvoksi -456 MsgBox k End Sub 

Tämä koodi palauttaa arvon -456 vain siksi, että operaattorimerkillä varustettu numero tulisi näyttää.

Esimerkki 4

Kokeile nyt tätä merkkijonoa “100 Kg”.

Koodi:

 Sub Val_Example4 () Dim k Variantti k = Val ("100 KG") 'Ohittaa KG: n ja palauttaa vain 100 MsgBox k End Sub 

Jos suoritat tämän koodin manuaalisesti tai käyttämällä F5-näppäintä, tämä yllä oleva koodi ohittaa “KG” ja palauttaa vain “100” VBA-viestiruutuun.

Esimerkki 5

Kokeile nyt päivämäärämerkkijonoa "14-05-2018".

Koodi:

Sub Val_Example5 () Dim k As Variant k = Val ("14-05-2019") 'Palauttaa tuloksen 14. MsgBox k End Sub

Yllä oleva koodi palauttaa tuloksen 14, koska VAL-funktio voi noutaa vain numeerisen arvon, kunnes se löytää muun kuin numeerisen merkin.

Esimerkki 6

Kokeile nyt merkkijonoa “7459Good456”.

Koodi:

Sub Val_Example6 () Dim k As Variant k = Val ("7459 Hyvä 456") 'Palauttaa tuloksen 7459. MsgBox k End Sub

Tämä purkaa numerot, kunnes se löytää ei-numeerisen merkin, ts. Tulos on 7459. Vaikka ei-numeerisen arvon "Hyvä" jälkeen on numeerisia arvoja, se jättää kokonaan lukemat sen jälkeen.

Esimerkki 7

Kokeile nyt merkkijonoa ”H 12456”.

Koodi:

Sub Val_Example7 () Dim k As -vaihtoehto k = Val ("H 12456") 'Palauttaa tuloksen 0. MsgBox k End Sub

Suorita yllä oleva koodi pikanäppäimellä F5 tai manuaalisesti, jolloin tulos palautetaan nollaksi. Koska toimittamamme merkkijonon ensimmäinen merkki on ei-numeerinen merkki, niin tulos on nolla.

Esimerkki 8

Kokeile nyt tätä merkkijonoa “24545. 2 ”.

Koodi:

Sub Val_Example8 () Dim k As Variant k = Val ("24545. 2") 'Palauttaa tuloksen 24545,2. MsgBox k End Sub

Koodi palauttaa tuloksen arvoksi 24545,2, koska VBA VAL -funktio pitää merkkipistettä (.) Desimaalimerkkinä ja palauttaa tuloksen vastaavasti.


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