2014-09-30 5 views
1

Я пишу пользовательскую функцию в VBA в Excel. Параметры, которые я передам этой функции при ее вызове, - это десятичные значения. Например:Excel VBA Определенная пользователем функция с десятичным типом Параметры

Public Function fcn(param1 as Decimal, param2 as Decimal) 
    ... 
End Function 

Но я не могу определить мои параметры как десятичный тип?

+0

В качестве альтернативы, можно просто объявить параметры как 'Double' – tigeravatar

ответ

3

Из задания VBA языка для EXCEL 2010:

Примечание:
В это время тип Decimal данные могут быть использованы только в Variant, то есть, вы не можете объявить переменная должна иметь тип Decimal. Вы можете, однако, создать вариант, подтип которого является десятичным, используя функцию CDec .

Визуальная основа для приложений Справочник по языку
-> Visual Basic Language Reference
- Типы> Данные
-> Десятичный Тип данных

Это был случай для нескольких версий EXCEL (по крайней мере, начиная с Office 97), и поэтому я не ожидаю, что он изменится в ближайшем будущем.

1

Использование

Dim d as Variant 
d = CDec(1.21) 
+0

О, так что я просто определить мой параметр как тип Variant вместо десятичной дроби? – brno792

+0

Это единственный способ. – Barry

Смежные вопросы