Съдържание
Ако търсите някои от най-лесните начини за използване на VBA IsNumeric функцията, тогава сте на правилното място. Обикновено използваме тази функция в VBA за проверка дали даден израз е число или не и в зависимост от израза ще върне TRUE ако изразът е число в противен случай FALSE .
Изтегляне на работна тетрадка
VBA IsNumeric Function.xlsmVBA IsNumeric Функция: Синтаксис иamp; Аргументи
⦿ Синтаксис
IsNumeric (Израз)
⦿ Аргументи
Аргумент | Задължително/незадължително | Обяснение |
---|---|---|
Изразяване | Изисква се | Това е вариант, който трябва да се провери дали е число или не. |
⦿ Върната стойност
Вход | Върната стойност |
---|---|
Номер | TRUE |
Не е число; низ | FALSE |
⦿ Версия
Сайтът Функция ISNUMERIC беше въведена в Excel 2000 и е достъпна за всички следващи версии.
9 примера за използване на функцията IsNumeric във VBA
В тази статия ще се опитаме да демонстрираме използването на VBA IsNumeric с някои произволни примери заедно с някои примери, включително следната таблица.
Използвали сме Microsoft Excel 365 версия тук, можете да използвате други версии според удобството си.
1. Проверка на VBA IsNumeric с някои случайни стойности
Тук ще изпробваме някои случайни низове с VBA ISNUMERIC , ако стойностите са числови или не.
Стъпка-01 :
➤ Отидете на Разработчик Tab>> Visual Basic Възможност.
След това Редактор на Visual Basic ще се отвори.
➤ Отидете на Вмъкване на Tab>> Модул Възможност.
След това Модул ще бъдат създадени.
Стъпка-02 :
➤ Напишете следния код
Sub checkvalue1() Dim x As Variant x = InputBox("Дайте някаква стойност") MsgBox IsNumeric(x) End Sub
Тук сме декларирали x като Вариант и ще съхрани входната стойност. След това ISNUMERIC ще върне TRUE ако входната стойност е числова, в противен случай се връща FALSE . Ще намерим резултата в полето за съобщения ( MsgBox ).
➤ Преса F5 .
След това ще получите следното поле за въвеждане и ако напишете стойността 100 и натиснете OK ,
ще получите поле за съобщение, в което се казва "Вярно" .
За запис на низ Котка и натискане на OK в полето за въвеждане,
Получаваме поле със съобщение, в което се казва "False" .
Прочетете още: Как да използвате функцията VBA Randomize в Excel (5 примера)
2. Използване на VBA IsNumeric с изявление IF-THEN-ELSE
В този раздел ще използваме Функция ISNUMERIC с IF-THEN-ELSE изявление в VBA код за определяне на числовите и нечисловите стойности.
Стъпки :
➤ Следвайте Стъпка-01 на раздел 1 .
➤ Запишете следния код
Sub checkvalue2() Dim x As Variant x = InputBox("Дайте някаква стойност") If IsNumeric(x) = True Then MsgBox "Дадената стойност е числова" Else MsgBox "Дадената стойност не е числова" End If End Sub
Тук сме декларирали x като Вариант и ще съхрани въведената стойност. Когато ISNUMERIC ще върне TRUE , IF ще върне съобщение с текст "Дадената стойност е числова" и ако ISNUMERIC връща FALSE , тогава IF връща съобщение, обясняващо "Дадената стойност не е числова" .
➤ Преса F5 .
След това ще получите следното поле за въвеждане и ако напишете стойността 200 и натиснете OK ,
ще получите поле за съобщение, в което се казва "Дадената стойност е числова" .
За запис на низ Котка и натискане на OK в полето за въвеждане,
Получаваме поле със съобщение, в което се казва "Дадената стойност не е числова" .
Прочетете още: VBA If - Then - Else Statement в Excel (4 примера)
3. Създаване на противоположен резултат с функцията IsNumeric
Тук ще създадем VBA код, който ще ни даде обратния резултат на Функция ISNUMERIC , което означава, че за числови стойности ще получим FALSE , а за нецифрови стойности ще върне TRUE .
Стъпки :
➤ Следвайте Стъпка-01 на раздел 1 .
➤ Запишете следния код
Sub checkvalue3() Dim x As Variant x = InputBox("Дайте някаква стойност") If IsNumeric(x) = True Then MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub
Тук сме декларирали x като Вариант и ще съхрани въведената стойност. Когато ISNUMERIC ще върне TRUE , IF ще върне съобщение с текст "FALSE" и ако ISNUMERIC връща FALSE , тогава IF връща съобщение, обясняващо "TRUE" .
➤ Преса F5 .
След това ще получите следното поле за въвеждане и ако напишете стойността 25 и натиснете OK ,
ще получите поле за съобщение, в което се казва "FALSE" .
За запис на низ Аляска и натискане на OK в полето за въвеждане,
Получаваме поле със съобщение, в което се казва "TRUE" .
Свързано съдържание: Функция VBA Format в Excel (8 приложения с примери)
4. Проверка дали празните места са числови или не
Можете лесно да проверите с VBA код дали празните места са числови или не.
Стъпки :
➤ Следвайте Стъпка-01 на раздел 1 .
➤ Запишете следния код
Sub checkvalue4() Dim x As Variant x = " " MsgBox IsNumeric(x) End Sub
Тук сме декларирали x като Вариант и ще съхранява Празна страница . тогава ISNUMERIC ще върне TRUE ако Празна страница е цифрова, в противен случай се връща FALSE .
➤ Преса F5 .
След това ще получите съобщение, в което се казва "False" което означава. празните места не са числови. .
Прочетете още: Формула на Excel за генериране на случаен номер (5 примера)
5. Проверка дали датите са числови или не
В този раздел ще използваме произволна дата и ще проверим дали датата е числова или не.
Стъпки :
➤ Следвайте Стъпка-01 на раздел 1 .
➤ Запишете следния код
Sub checkvalue5() Dim x As Variant x = "02/02/2022 " MsgBox IsNumeric(x) End Sub
Тук сме декларирали x като Вариант и тя ще запази дата. След това ISNUMERIC ще върне TRUE ако датата е цифрова, в противен случай се връща FALSE .
➤ Преса F5 .
След това ще получите съобщение, в което се казва "False" което означава. датите не са числови. .
Можем да опитаме и с Функция DATESERIAL за създаване на дати и проверка дали са числови или не.
➤ Въведете следния код
Sub checkvalue5a() Dim x As Variant x = DateSerial(2022, 2, 2) MsgBox IsNumeric(x) End Sub
Тук сме декларирали x като Вариант и ще съхранява дата, създадена от Функция DATESERIAL . тогава ISNUMERIC ще върне TRUE ако датата е цифрова, в противен случай се връща FALSE .
➤ Преса F5 .
В замяна на това ще получите поле за съобщение, в което се казва "False" и този път.
Прочетете още: Функция за дата във VBA (12 приложения на макроси с примери)
Подобни четива:
- Как да използвате функцията MsgBox в Excel VBA (пълно ръководство)
- Използване на функцията Environ във VBA (4 примера)
- Как да използваме VBA и функция в Excel (4 примера)
- Използване на VBA Case Statement (13 примера)
- Как да използвате функцията Log в Excel VBA (5 подходящи примера)
6. Проверка на това дали времето е цифрово или не
В този раздел ще проверим дали времената са числови или не, като използваме Функция ISNUMERIC .
Стъпки :
➤ Следвайте Стъпка-01 на раздел 1 .
➤ Запишете следния код
Sub checkvalue6() Dim x As Variant x = "09:30:00 AM" MsgBox IsNumeric(x) End Sub
Тук сме декларирали x като Вариант и тя ще запази време. След това ISNUMERIC ще върне TRUE ако часът е цифров, в противен случай се връща FALSE .
➤ Преса F5 .
След това ще се появи поле със съобщение, в което се казва "False" което означава. времената не са числови .
Можете също така да опитате с Функция TIMESERIAL за създаване на дати и проверка дали са числови или не.
➤ Въведете следния код
Sub checkvalue6a() Dim x As Variant x = TimeSerial(9, 30, 0) MsgBox IsNumeric(x) End Sub
Тук сме декларирали x като Вариант и ще съхранява време, създадено от Функция TIMESERIAL . тогава ISNUMERIC ще върне TRUE ако часът е цифров, в противен случай се връща FALSE .
➤ Преса F5 .
След това ще се появи поле със съобщение, в което се казва "False" и този път.
Отново можем да изпробваме препратка към стойност на времето в клетка на листа.
➤ Въведете следния код
Sub checkvalue6b() Dim x As Variant x = range("B2").value MsgBox IsNumeric(x) End Sub
Тук сме декларирали x като Вариант и ще съхрани време, което е в B2 клетка. Тогава ISNUMERIC ще върне TRUE ако часът е цифров, в противен случай се връща FALSE .
➤ Преса F5 .
Накрая ще се появи поле със съобщение, в което се казва "Вярно" този път.
Прочетете още: Как да използвате VBA TimeSerial в Excel (3 примера)
7. Използване на VBA IsNumeric за диапазон от стойности
Тук ще проверим дали стойностите на Марки/класове са числови или нечислови и резултатите са в колоната Проверете колона.
Стъпки :
➤ Следвайте Стъпка-01 на раздел 1 .
➤ Запишете следния код
Sub checkvalue7() Dim cell As Range For Each cell In Range("D5:D11") cell.Offset(0, 1) = IsNumeric(cell) Next cell End Sub
Декларирахме клетката като Range и използвахме a ЗА цикъл за клетките от обхвата "D5:D11" и за тези клетки ISNUMERIC ще върне TRUE ако стойността е числова, в противен случай се връща FALSE и Cell.Offset(0, 1) ще върне изходните стойности в една колона по-късно във входната колона.
➤ Преса F5 .
След това ще имаме TRUE за цифровите стойности или Маркс и FALSE за нецифрови стойности или Класове .
Прочетете още: Как да използвате функцията VBA Val в Excel (7 примера)
8. Създаване на функция за тестване на диапазон от стойности
В този раздел ще създадем функция със символа VBA ISNUMERIC и проверете дали стойностите на Марки/класове колоната са числови или нечислови.
Стъпка-01 :
➤ Следвайте Стъпка-01 на раздел 1 .
➤ Запишете и запазете следния код
Функция IsNumericTest(value As Variant) As Boolean If IsNumeric(value) Then IsNumericTest = True Else IsNumericTest = False End If End Function
Този код ще създаде функция с име IsNumericTest .
Стъпка-02 :
➤ Върнете се в основния лист и въведете следната формула в клетката E5
=IsNumericTest(D5)
D5 е Марки/класове на ученик и IsNumericTest ще върне TRUE/FALSE в зависимост от стойността.
➤ Преса ВЪВЕДЕТЕ и плъзнете надолу Дръжка за пълнене инструмент.
Накрая ще имаме TRUE за цифровите стойности или Маркс и FALSE за нецифрови стойности или Класове .
Свързано съдържание: Как да използвате функцията VBA DIR в Excel (7 примера)
9. Отчитане на нецифрови стойности с функцията IsNumeric във VBA
Искаме да преброим нецифровите стойности или степени на Марки/класове и за да направим това, тук ще използваме VBA ISNUMERIC и да имаме общия брой на нецифровите стойности, които имаме в Граф колона.
Стъпка-01 :
➤ Следвайте Стъпка-01 на раздел 1 .
➤ Запишете и запазете следния код
Функция countnonnumeric(value As range) As Long Dim cell As range Dim count As Long За всяка клетка в value.Cells If Not IsNumeric(cell.value) Then count = count + 1 End If Next countnonnumeric = count End Function
Този код ще създаде функция с име броинецифрови .
Когато стойността на клетката не е числова стойност, тогава брой ще се увеличи с 1 .
Стъпка-02 :
➤ Върнете се в основния лист и въведете следната формула
=countnonnumeric(D5:D11)
D5:D11 е обхватът на Марки/класове на учениците и броинецифрови ще върне общия брой на нецифровите оценки.
➤ Преса ВЪВЕДЕТЕ
Накрая ще получите стойността 3 което означава, че имате 3 Оценки в Марки/класове колона.
Прочетете още: Как да върнем стойност във функция VBA (както масиви, така и стойности, които не са масиви)
IsNumeric vs ISNUMBER
- ISNUMERIC проверява дали дадена стойност може да се преобразува в число и ISNUMBER проверява дали дадена стойност е записана като число.
- Съществуват някои разлики между Функция VBA ISNUMERIC и Excel Функция ISNUMBER и се опитахме да покажем разликите по-долу, като използвахме предварително създадената от нас Функция IsNumericTest и вградената програма Excel Функция ISNUMBER .
Практически раздел
За да практикувате сами, сме предоставили Практика раздел, както е показано по-долу, в лист с име Практика . Моля, направете го сами.
Заключение
В тази статия се опитахме да разгледаме някои от начините за използване на VBA ISNUMERIC функция. надявам се, че ще ви бъде полезна. ако имате някакви предложения или въпроси, не се колебайте да ги споделите в раздела за коментари.