Из этого туториала Вы узнаете, как использовать 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, которая проверяет, является ли значение числовым, и в результате возвращает логическое значение ИСТИНА или ЛОЖЬ.
Функция может принимать переменную или значение ячейки.
Вот пример получения значения ячейки:
12345 | Если IsNumeric (Sheet1.Range ("A1"). Value) = True, тоMsgBox "Значение в A1 является числовым"ЕщеMsgBox «Значение в A1 не является числовым»Конец, если |
В этом примере мы проверяем, является ли значение из ячейки A1 числовым, используя IsNumeric. Эта функция возвращает соответствующее сообщение в зависимости от результата функции.
В следующем примере выполняется та же операция, за исключением переменной вместо значения ячейки:
123456789 | Dim n как вариантn = Sheet1.Range ("A1"). ЗначениеЕсли IsNumeric (n) = True, тоMsgBox "Значение в A1 является числовым"ЕщеMsgBox «Значение в A1 не является числовым»Конец, если |
Использование IsNumber в VBA
IsNumber - это функция Excel, которую можно использовать в VBA. Он имеет почти такой же вывод, что и IsNumeric. Давайте посмотрим на пример функции IsNumber:
123456789 | Если Application.WorksheetFunction.IsNumber (Sheet1.Range ("A1"). Value) = True, тоMsgBox "Значение в A1 является числовым"ЕщеMsgBox «Значение в A1 не является числовым»Конец, если |
Как видно из кода, разница заключается в синтаксисе при вызове функции. Поскольку IsNumber - это функция Excel, нам нужно поставить Application.WorksheetFunction перед вызовом функции.