Ši pamoka išmokys jus naudotis IsNumeric ir IsNumber funkcijos VBA, kad patikrintų, ar vertės yra skaičiai.
„IsNumeric“ yra įmontuota VBA funkcija, o „IsNumber“ yra „Excel“ funkcija, kurią galima iškviesti iš VBA kodo.
Skirtumas tarp „IsNumber“ ir „IsNumeric“ VBA
„IsNumber“ patikrina, ar reikšmė išsaugota kaip skaičius. Kadangi „IsNumeric“ patikrina, ar reikšmę galima konvertuoti į skaičių.
Pvz., Jei perduosite tuščią langelį kaip parametrą, „IsNumber“ grąžins FALSE, o „IsNumeric“ - „TRUE“. Be to, jei praeisite langelį, kuriame yra skaičius, išsaugotas kaip tekstas, „IsNumber“ grąžins FALSE ir IsNumeric TRUE.
Turite atkreipti dėmesį į šiuos abiejų funkcijų apribojimus ir nuspręsti, kokiais atvejais geriau naudoti „IsNumeric“ ir kada „IsNumber“.
„IsNumeric“ naudojimas VBA
IsNumeric yra VBA funkcija, kuri patikrina, ar reikšmė yra skaitinė, ir dėl to pateikia loginę TRUE arba FALSE.
Funkcija gali turėti kintamąjį arba langelio reikšmę.
Štai langelio vertės nustatymo pavyzdys:
12345 | Jei IsNumeric (Sheet1.Range ("A1"). Reikšmė) = Tiesa tada„MsgBox“ reikšmė A1 yra skaitinėKitas„MsgBox“ A1 reikšmė nėra skaitinėPabaiga Jei |
Šiame pavyzdyje mes patikriname, ar langelio A1 reikšmė yra skaitinė, naudojant IsNumeric. Ši funkcija grąžina atitinkamą pranešimą, priklausomai nuo funkcijos rezultato.
Šis kitas pavyzdys atlieka tą pačią operaciją, išskyrus kintamąjį vietoj langelio vertės:
123456789 | Dim n kaip variantasn = Sheet1.Range ("A1"). ReikšmėJei IsNumeric (n) = tiesa tada„MsgBox“ reikšmė A1 yra skaitinėKitas„MsgBox“ A1 reikšmė nėra skaitinėPabaiga Jei |
„IsNumber“ naudojimas VBA
IsNumber yra „Excel“ funkcija, kurią galima naudoti VBA. Jo išvestis yra beveik panaši į „IsNumeric“. Pažvelkime į funkcijos IsNumber pavyzdį:
123456789 | If Application.WorksheetFunction.IsNumber (Sheet1.Range ("A1"). Value) = Tiesa tada„MsgBox“ reikšmė A1 yra skaitinėKitas„MsgBox“ A1 reikšmė nėra skaitinėPabaiga Jei |
Kaip matote iš kodo, skirtumas yra sintaksėje skambinant funkcijai. Kadangi „IsNumber“ yra „Excel“ funkcija, turime įdėti Application.WorksheetFunction prieš funkcinį skambutį.