Перейти к содержимому
Промокоды на самолёты, поезда, автобусы и отели на Туту.ру >>
(Реклама. ООО «Новые Туристические Технологии». ИНН 7724929270)

VBA Excel. Функция IsNumeric

    Функция IsNumeric для быстрой проверки, является ли значение числом. Синтаксис и базовое использование IsNumeric в коде VBA Excel. Примеры.

    Ошибка типа «Type mismatch»

    При разработке макросов и пользовательских функций в VBA Excel часто возникает необходимость убедиться, что значение из ячейки, переменной, формы ввода или из внешнего источника является числом. Если попытаться выполнить математическую операцию с текстом или пустым значением, код вызовет ошибку типа «Type mismatch» (несоответствие типов). Чтобы избежать аварийного завершения программы, в VBA есть встроенная функция IsNumeric. Она позволяет быстро определить, можно ли интерпретировать переданное значение как число.

    Сообщение VBA об ошибке типа «Type mismatch»

    Функция IsNumeric в VBA Excel

    IsNumeric — это встроенная функция VBA Excel, которая позволяет определить, можно ли интерпретировать значение как число. Она возвращает логическое значение типа Boolean, указывающее, можно ли рассматривать выражение как числовое.

    Функция IsNumeric широко используется при:

    • проверке пользовательского ввода;
    • обработке данных в Excel;
    • написании макросов VBA.

    Синтаксис:

    где expression — любое допустимое выражение VBA (переменная, константа, значение ячейки, результат другой функции и т.д.).

    Возвращаемое значение

    • True — если значение является числом или может быть преобразовано в число.
    • False — если значение не является числом.

    Важно: IsNumeric работает на уровне синтаксического анализа, а не строгой типизации. Функция проверяет, можно ли безопасно преобразовать выражение в числовой тип без возникновения ошибки выполнения.

    Особенности функции IsNumeric

    Функция IsNumeric удобна, но имеет нюансы, о которых не следует забывать:

    Ситуация Результат Комментарий
    IsNumeric("3.14") True/False True в английской локали (разделитель — точка), False — в русской.
    IsNumeric("1,2E-3") True/False True в русской локали (разделитель — запятая), False — в английской.
    IsNumeric("") False Пустая строка не число.
    IsNumeric(" 100 ") True Пробелы автоматически игнорируются.
    IsNumeric("100 руб.") False Наличие букв или символов валюты возвращает False.

    Примеры использования IsNumeric

    Проверка одной ячейки

    Суммирование только числовых значений в диапазоне

    Валидация пользовательского ввода через InputBox

    Проверка на целое число

    Ограничения функции IsNumeric

    • Так как функция IsNumeric работает на уровне синтаксического анализа, её нельзя использовать  для строгой проверки числовых типов.
    • Функция чувствительна к региональным настройкам (локалям).
    • Требуется особая внимательность при работе с датами.

    Функция IsNumeric в VBA Excel — это простой и эффективный инструмент для базовой проверки числовых значений. Она незаменима, когда надо быстро проверить число в VBA, осуществить валидацию ввода пользователя, обработать в Excel собственные или загруженные извне данные.


    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.