В этом руководстве будет показано, как использовать функцию CDec VBA.
Функция CDec
VBA CDec Преобразование выражения в десятичное
Функция VBA CDec преобразует выражение в десятичный тип данных. Тип данных decimal фактически является подтипом вариантного типа данных.
12345678910 | Sub CDecExample_1 ()MsgBox CDec (12.34000001)Результат: 12.34000001MsgBox CDec (10000000000012.3)Результат: 10000000000012,3MsgBox CDec (-0,00000000000001)Результат: -0.00000000000001MsgBox CDec (-12,34)Результат: -12,34Конец подписки |
VBA CDec Преобразование строк в десятичные числа
Функцию VBA CDec можно использовать для преобразования строк в десятичные числа, если символы в строке имеют значение как числа.
12345678910111213141516171819 | Дополнительный CDecExample_2 ()Dim StrEx как строкаStrEx = "112.112112"MsgBox CDec (StrEx)Результат: 112.112112StrEx = "112,3"MsgBox CDec (StrEx)Результат: 112,3StrEx = "11,2"MsgBox CDec (StrEx)'Результат: 112, игнорируетсяStrEx = "112,07 доллара"MsgBox CDec (StrEx)'Результат: 112.07 $ игнорируетсяКонец подписки |
Программирование на VBA | Генератор кода действительно работает для вас!
Ошибка времени выполнения VBA CDec 13 Несоответствие типов
Использование функции VBA CDec со строками, содержащими нечисловые символы или символы, не имеющие значения в числовом контексте, приведет к ошибке времени выполнения ’13’: Несоответствие типов.
1234567 | Sub CDecExample_3 ()'Приведенный ниже код приведет к сообщению об ОШИБКЕ'CDec не может обрабатывать нечисловые символыDim StrEx как строкаStrEx = "Ab13"MsgBox CDec (StrEx)Конец подписки |
Ошибка времени выполнения VBA CDec 6, переполнение
Использование функции VBA CDec со строками, которые приводят к значению, меньшему или большему, чем ожидаемое десятичное число, приведет к ошибке времени выполнения ’6’: переполнение. Десятичное число должно быть от -7,9 E28 до +7,9 E28.
1234567 | Sub CDecExample_4 ()'Приведенный ниже код приведет к сообщению об ОШИБКЕCDec может обрабатывать числа от -7.9 E28 до +7.9 E28.Dim StrEx как вариантStrEx = 8E + 30MsgBox CDec (StrEx)Конец подписки |
Региональные настройки VBA CDec
Функция VBA CDec имеет другое поведение, преобразуя строки с запятой или точкой. Он использует региональные настройки операционной системы для десятичного разделителя и разделителя цифр.
12345678910111213141516 | Sub CDecExample_5 ()Dim StrEx как строкаStrEx = "1,0000009"MsgBox CDec (StrEx)'Если в региональных настройках в качестве разделителя группировки указаноРезультат: 19'Если в региональных настройках есть десятичный разделитель, тоРезультат: 1.0000009StrEx = "1.0000009"MsgBox CDec (StrEx)'Если в региональных настройках есть. как разделитель группировки, тогдаРезультат: 19'Если в региональных настройках есть. как десятичный разделитель, тогдаРезультат: 1.0000009Конец подписки |