VBA VAL | Kā izmantot VBA VAL funkciju? (ar piemēriem)

Excel VBA Val funkcija

Val funkcija vba ietilpst zem virknes funkcijām, tā ir arī iebūvēta funkcija VBA, ko izmanto, lai iegūtu skaitliskās vērtības no datu mainīgā, pieņemsim, ja mainīgā lielumam ir vērtība A10, tad val funkcija mums dos 10 kā izvadi, tas ņem virkni kā argumentu un atgriež virknē esošos skaitļus.

VAL VBA terminoloģijā nozīmē VALUE. Šī funkcija pārveido virkni, kurā ir skaitļi, uz faktisko skaitli. Piemēram, ja jūs piegādājat teksta virkni “1234 Global”, tā atgriezīs tikai skaitlisko daļu, ti, 1234.

Bieži reizes, kad mēs lejupielādējam vai iegūstam datus no tīmekļa numuriem, parasti tiek saglabāti kā teksta vērtības izklājlapā. Teksta pārveidošana ciparos ir visgrūtākais uzdevums, ja nezināt par Excel pareizo funkciju. Kā regulāra darblapas funkcija mums ir funkcija ar nosaukumu VALUE, kas visu vienkāršo skaitlisko virkni pārveidos par precīziem skaitļiem, izmantojot vienkāršu funkciju darblapā. Šajā rakstā mēs parādīsim, kā to var panākt VBA, izmantojot VAL funkciju.

Sintakse

Tam ir tikai viens arguments, ti, virkne.

  • Stīga: Tā ir vienkārši virknes vērtība, kuru mēs cenšamies iegūt no tās skaitlisko daļu.

Tātad funkcija VAL pārveido piegādāto virkni skaitliskā vērtībā.

Piezīme: VAL funkcija vienmēr ignorē atstarpes rakstzīmes un turpina skaitīt skaitļus aiz atstarpes rakstzīmes vai rakstzīmēm.

Piemēram, ja pievienotā virkne ir “145 45 666 3”, tā ignorēs atstarpes rakstzīmes un rezultātu atgriezīs kā “145456663”.

VAL funkcijas piemēri programmā Excel VBA

Šo VBA Val Function Excel veidni varat lejupielādēt šeit - VBA Val Function Excel veidne

1. piemērs

Izmēģināsim pirmo piemēru ar vienkāršu skaitli, ti, “14 56 47”

Zemāk esošais kods ir domāts jums.

Kods:

 Apakšvalks_piemērs1 () Dim k As Variants k = Val ("14 56 47") 'Konvertējiet iepriekšminēto kā 145647 MsgBox k Beigu apakšnodaļa 

Palaižot VBA kodu, izmantojot F5 taustiņu vai manuāli, tas atgriezīs rezultātu kā “145647”, ignorējot visas atstarpes rakstzīmes, kā parādīts zemāk esošajā attēlā.

2. piemērs

Šajā piemērā mēs redzēsim, kāds ir virknes rezultāts “+456”.

Kods:

 Apakšvalks_piemērs2 () Dim k As Variants k = Val ("+ 456") 'Konvertējiet iepriekšminēto kā 456 MsgBox k Beigas Sub 

Varat palaist šo kodu manuāli vai ar taustiņu F5, lai atgrieztu vērtību kā 456, ignorējot +456.

3. piemērs

Tagad ļaujiet izmēģināt to pašu numuru ar negatīvu zīmi.

Kods:

 Apakšvalks_piemērs3 () Dim k As Variants k = Val ("- 456") 'Konvertējiet iepriekšminēto kā -456 MsgBox k Beigu apakšnodaļa 

Šis kods atgriezīs vērtību kā -456 tikai tāpēc, ka ir jāparāda skaitlis ar operatora zīmi.

4. piemērs

Tagad ļaujiet izmēģināt šo virkni “100 Kg”.

Kods:

 Sub Val_Piemērs4 () Dim k As Variants k = Val ("100 KG") 'Ignorē KG un atgriež tikai 100 MsgBox k End Sub 

Ja palaižat šo kodu manuāli vai izmantojot taustiņu F5, šis kods ignorē “KG” un VBA ziņojumu lodziņā atgriež tikai “100”.

5. piemērs

Tagad izmēģiniet datuma virkni, ti, “14-05-2018”.

Kods:

Apakšvalks_piemērs5 () Dim k As variants k = Val ("14-05-2019") 'Rezultātā atgriež 14. MsgBox k End Sub

Iepriekš minētais kods atgriež rezultātu 14, jo VAL funkcija var iegūt skaitlisko vērtību tikai līdz brīdim, kad tā atrod citu skaitlisko rakstzīmi.

6. piemērs

Tagad izmēģiniet virkni “7459Good456”.

Kods:

Apakšvalks_piemērs6 () Dim k As variants k = Val ("7459 Labs 456") 'Rezultātā atgriež 7459. MsgBox k End Sub

Tas izraksta skaitļus, līdz atrod skaitlisko rakstzīmi, ti, rezultāts ir 7459. Lai arī pēc skaitliskās vērtības “Labi” ir skaitliskas vērtības, pēc tam skaitļi pilnībā tiek ignorēti.

7. piemērs

Tagad izmēģiniet virknes vērtību “H 12456”.

Kods:

Apakšvalks_piemērs7 () Dim k As variants k = Val ("H 12456") 'Rezultātā atgriež 0. MsgBox k End Sub

Palaidiet iepriekš minēto kodu, izmantojot īsinājumtaustiņu F5, vai manuāli, un tas atgriež rezultātu kā nulli. Tā kā mūsu piedāvātās virknes pirmais rakstzīme ir bez cipariem, rezultāts ir nulle.

8. piemērs

Tagad izmēģiniet šo virkni “24545. 2 ”.

Kods:

Apakšvalks_piemērs8 () Dim k As variants k = Val ("24545. 2") 'Rezultātā atgriež 24545,2. MsgBox k End Sub

Kods atgriež rezultātu kā 24545,2, jo funkcija VBA VAL uzskata rakstzīmi punktu (.) Par decimālzīmi un attiecīgi atgriež rezultātu.


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