Как преобразовать строку в число в Excel с помощью VBA

Числовые значения определяются типами данных, такими как integer или byte. Эти типы данных используются для оптимизации обработки и выделения памяти в Excel. В этом руководстве мы собираемся показать вам, как преобразовать строку в число в Excel VBA.

Скачать готовый шаблон

Типы данных в VBA

Как и в некоторых других языках программирования, VBA использует типы данных для определения того, какие переменные он может хранить и как они хранятся. Большинство типов данных в VBA определяют числовые значения. Вот краткий список числовых типов данных:

Тип данных Хранение Диапазон
Байт 1 байт от 0 до 255
Целое число 2 байта от -32,768 до 32,767
Длинный 4 байта от -2,147,483,648 до 2,147,483,647
Single 4 байта от -3.402823E38 до -1.401298E-45 для отрицательных значений; от 1.401298E-45 до 3.402823E38 для положительных значений
Дважды 8 байт -1.79769313486231E308 в-4.94065645841247E-324 для отрицательных значений; 4.94065645841247E-324 в 1.79769313486232E308 для положительных значений
LongLong 8 байт от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807

Допустимо только на 64-разрядных платформах.

Валюта 8 байт от -922,337,203,685,477.5808 до 922,337,203,685,477.5807
Десятичная 14 байт +/-79,228,162,514,264,337,593,543,950,335 без десятичной точки;
+/-7,9228162514264337593543950335 с 28 знаками справа от десятичной дроби

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

Функции для преобразования строки в число в Excel VBA

Все функции преобразования используют одинаковый синтаксис: для каждой требуется один строковый аргумент для преобразования в число. Например:

CDec(выражение)

Каждая функция возвращает ошибку, если аргумент string либо не является числовым, либо находится за пределами диапазона преобразуемого типа данных.

CInt(«A») возвращает ошибку несоответствия типов, поскольку «A» не является числовым значением.

CByte(«1250») возвращает исключение переполнения.

Функция Возвращаемый тип Пример
CByte Байт CByte («65,75») возвращает 66
CCur Валюта CCur(«$ 256,000.50») возвращает 256000,5
CDbl Дважды CDbl(128.239856 * 4.8 * 0.04) возвращает 24.622052352
CDec Десятичная CDec(«15000000.5678») возвращает 15000000.5678
CInt Целое число CInt(«1234.56») возвращает 1235
CLng Длинный CLng(«1,500,000.88») возвращает 15000001
CLngLng LongLong CLngLng(«1,250,500,000.88») возвращает 1250500001
CSng Single CSng(«5.67854») возвращает 5.67854

Бонус: используйте функцию IsNumeric для проверки значения

Чтобы избежать ошибок несоответствия типов, вы можете использовать функцию IsNumeric для проверки, является ли выражение числовым или нет. Функция возвращает логическое значение на основе выражения. TRUE , если выражение числовое, FALSE в противном случае.

Вот пример функции, которая может сначала проверить данные и преобразовать их в целое число, если оно числовое. Если аргумент не является допустимым числом, функция возвращает 0.

Автор А. Днепров

Обучаю основам работы с офисными программами.

Как преобразовать строку в число в Excel с помощью VBA
Расширенные возможности PowerPoіnt