VBA Как объявить десятичным

Я оптимизирую макрос в VBA, который не был объявлен ни одним из типов данных, поэтому все было неудобно обработано компилятором как вариант. Я имею дело с научными измерениями, поэтому мне нужна точность. Как объявить "Dim decAsdf как десятичный" (не так, но правильно)?

Ответ 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