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

Satura rādītājs

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īgajam 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ā parasta darblapas funkcija mums ir funkcija ar nosaukumu VALUE, kas pārveidos visu virkni, kas attēlo skaitļus, precīziem skaitļiem ar vienkāršu funkciju darblapā. Šajā rakstā mēs parādīsim, kā to var sasniegt VBA, izmantojot VAL funkciju.

Sintakse

Tam ir tikai viens arguments, ti, virkne.

  • Stīga: Tā vienkārši ir 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 komplektā iekļautā 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

1. piemērs

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

Šis 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 Beigās Sub

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 caur 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:

Apakšvalks_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 F5 taustiņu, šis iepriekš minētais 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 tikai skaitlisko vērtību, līdz 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

Tādējādi skaitļi tiks izvilkti, līdz tiks atrasts cipars, kas nav skaitlis, ti, rezultāts ir 7459. Kaut 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, pēc tam rezultāts tiek atgriezts kā nulle. 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.

Interesanti raksti...