Използване на Isnumeric и Isnumber във VBA

Този урок ще ви научи как да използвате IsNumeric и IsNumber функции във VBA за проверка дали стойностите са числа.

IsNumeric е вградена VBA функция, докато IsNumber е Excel функция, която може да бъде извикана от VBA код.

Разлика между IsNumber и IsNumeric във VBA

IsNumber проверява дали дадена стойност се съхранява като число. Докато IsNumeric проверява дали дадена стойност може да бъде преобразувана в число.

Например, ако предадете празна клетка като параметър, IsNumber ще върне FALSE, докато IsNumeric ще върне TRUE. Също така, ако предадете клетка, съдържаща номер, съхранен като текст, IsNumber ще върне FALSE и IsNumeric TRUE.

Трябва да обърнете внимание на тези ограничения на двете функции и да решите в кои случаи е по -добре да използвате IsNumeric и кога IsNumber.

Използване на IsNumeric във VBA

IsNumeric е функцията VBA, която проверява дали дадена стойност е числова и в резултат връща булева стойност TRUE или FALSE.

Функцията може да приема променлива или клетъчна стойност.

Ето пример за вземане на клетъчна стойност:

12345 Ако IsNumeric (Sheet1.Range ("A1"). Стойност) = Вярно ТогаваMsgBox "Стойността в A1 е цифрова"ИначеMsgBox "Стойността в A1 не е цифрова"Край Ако

В този пример проверяваме дали стойността от клетката A1 е числова с помощта на IsNumeric. Тази функция връща съответното съобщение, в зависимост от резултата от функцията.

Този следващ пример изпълнява същата операция, с изключение на променлива вместо стойност на клетка:

123456789 Dim n като вариантn = Sheet1.Range ("A1"). СтойностАко IsNumeric (n) = Вярно, тогаваMsgBox "Стойността в A1 е цифрова"ИначеMsgBox "Стойността в A1 не е цифрова"Край Ако

Използване на IsNumber във VBA

IsNumber е функция на Excel, която може да се използва във VBA. Той има почти подобен изход като IsNumeric. Нека разгледаме примера с функцията IsNumber:

123456789 Ако Application.WorksheetFunction.IsNumber (Sheet1.Range ("A1"). Стойност) = Истина тогаваMsgBox "Стойността в A1 е цифрова"ИначеMsgBox "Стойността в A1 не е цифрова"Край Ако

Както можете да видите от кода, разликата е в синтаксиса при извикване на функцията. Тъй като IsNumber е функцията на Excel, трябва да поставим Приложение.Функция на работен лист преди извикването на функцията.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave