Я оптимизирую макрос в VBA, который не был объявлен ни одним из типов данных, поэтому все было неудобно обработано компилятором как вариант. Я имею дело с научными измерениями, поэтому мне нужна точность. Как объявить "Dim decAsdf как десятичный" (не так, но правильно)?
VBA Как объявить десятичным
Ответ 1
Вы не можете объявить переменную как Decimal
- вам нужно использовать Variant
(вы можете использовать CDec
, чтобы заполнить ее типом Decimal
).
Ответ 2
Лучший способ - объявить переменную как Single
или Double
в зависимости от требуемой точности. Тип данных Single
использует 4 байта и имеет диапазон от -3.402823E38 до 1.401298E45. Double
использует 8 байтов.
Вы можете объявить следующее:
Dim decAsdf as Single
или
Dim decAsdf as Double
Вот пример, который отображает окно сообщения со значением переменной после вычисления. Все, что вам нужно сделать, это поместить его в модуль и запустить его.
Sub doubleDataTypeExample()
Dim doubleTest As Double
doubleTest = 0.0000045 * 0.005 * 0.01
MsgBox "doubleTest = " & doubleTest
End Sub