VBA VAL - Hogyan kell használni a VBA VAL funkciót? (példákkal)

Tartalomjegyzék

Excel VBA Val funkció

A vba Val függvénye a string függvények alá tartozik, ez is egy beépített függvény a VBA-ban, amelyet arra használnak, hogy egy adatváltozóból megkapja a numerikus értékeket. Tegyük fel, hogy ha egy változó értéke A10, akkor a val függvény 10-et ad nekünk egy karakterláncot vesz fel argumentumként, és visszaadja a karakterláncban szereplő számokat.

A VAL az VBA kifejezés a VBA terminológiájában. Ez a függvény a számokat tartalmazó karakterláncot tényleges számgá alakítja. Például, ha megadja az „1234 Global” szöveget, akkor csak a numerikus részt adja vissza, azaz 1234.

Gyakran előfordul, hogy amikor internetes számokról töltjük le vagy szerezzük be az adatokat, általában szöveges értékként tároljuk egy táblázatban. A szöveg számokká alakítása a legnehezebb feladat, ha nincs tisztában az excel helyes funkciójával. Rendes munkalapfüggvényként van egy VALUE nevű függvényünk, amely az összes számokat ábrázoló karakterláncot a munkalap egyszerű függvényével pontos számokká alakítja. Ebben a cikkben megmutatjuk, hogyan lehet ezt elérni a VBA-ban a VAL függvény használatával.

Szintaxis

Csak egy argumentuma van, azaz a String.

  • Karakterlánc: Ez egyszerűen egy string érték, amellyel megpróbáljuk kihozni belőle a numerikus részt.

Tehát a VAL függvény konvertálja a mellékelt karakterláncot számértékre.

Megjegyzés: A VAL függvény mindig figyelmen kívül hagyja a szóköz karaktereket, és a szóköz vagy karakterek után olvassa tovább a számokat.

Például, ha a mellékelt karakterlánc „145 45 666 3”, akkor a szóköz karaktereket figyelmen kívül hagyja, és az eredményt „145456663” -ként adja vissza.

Példák a VAL függvényre az Excel VBA-ban

1. példa

Próbáljuk ki az első példát egy egyszerű számmal, azaz: „14 56 47”.

Az alábbi kód az Ön számára készült.

Kód:

Sub Val_Example1 () Dim k As Variant k = Val ("14 56 47") 'Konvertálja a fentieket 145647 MsgBox k End Sub

Ha a VBA kódot az F5 billentyűvel vagy manuálisan futtatja, akkor az eredmény „145647” néven jelenik meg, az összes szóköz mellőzésével, az alábbi képen látható módon.

2. példa

Ebben a példában meglátjuk, hogy a karakterlánc eredménye „+456”.

Kód:

Sub Val_Example2 () Dim k As Variant k = Val ("+ 456") 'Konvertálja a fentieket 456 MsgBox k End Sub-ként

Futtathatja ezt a kódot manuálisan vagy az F5 billentyű segítségével, hogy az értéket 456-ként adja vissza a +456 figyelmen kívül hagyásával.

3. példa

Most próbáljuk meg ugyanazt a számot negatív előjellel.

Kód:

Sub Val_Example3 () Dim k As Variant k = Val ("- 456") 'Konvertálja a fentieket -456 MsgBox k End Sub névre

Ez a kód csak -456 értéket ad vissza, mert az operátor előjellel ellátott számot meg kell jeleníteni.

4. példa

Most próbáljuk ki ezt a „100 Kg” karakterláncot.

Kód:

Sub Val_Példa4 () Dim k As Variant k = Val ("100 KG") 'Nem veszi figyelembe a KG-t és csak 100 MsgBox-ot ad vissza k End Sub

Ha ezt a kódot manuálisan vagy az F5 billentyű segítségével futtatja, akkor ez a fenti kód figyelmen kívül hagyja a „KG” szót, és csak a „100” értéket adja vissza a VBA üzenetmezőben.

5. példa

Most próbálkozzon a dátum karakterlánccal, azaz „2018.05.14.”.

Kód:

Val_Example5 () Dim k As variáns k = Val ("2019-05-14") '14-et ad eredményül. MsgBox k End Sub

A fenti kód 14-et ad eredményül, mert a VAL függvény csak addig tudja lekérni a numerikus értéket, amíg más számjegyű karaktert nem talál.

6. példa

Próbálja ki a „7459Good456” karakterláncot.

Kód:

Al Val_Példa6 () Dim k As Variant k = Val ("7459 Jó 456") '7459-et ad eredményül. MsgBox k End Sub

Ez addig vonja ki a számokat, amíg meg nem találja a nem numerikus karaktert, azaz az eredmény 7459. Annak ellenére, hogy a „Jó” nem numerikus érték után vannak számértékek, az ezt követő számokat teljesen figyelmen kívül hagyja.

7. példa

Most próbálkozzon a "H 12456" karakterlánccal.

Kód:

Val_Példa7 () Dim k As variáns k = Val ("H 12456") '0-t ad eredményül. MsgBox k End Sub

Futtassa a fenti kódot az F5 gyorsbillentyűvel vagy manuálisan, majd az eredményt nulla értékkel adja vissza. Mivel a karakterlánc első karaktere nem numerikus karakter, így az eredmény nulla.

8. példa

Próbálja ki ezt a karakterláncot: „24545. 2 ”.

Kód:

Val_Példa8 () Dim k As Variant k = Val ("24545. 2") '' 24545,2 értéket ad eredményül. MsgBox k End Sub

A kód 24545,2 értékként adja vissza az eredményt, mert a VBA VAL függvény a pontot (.) Tekinti tizedes karakternek, és ennek megfelelően adja vissza az eredményt.

érdekes cikkek...