У меня есть следующие функции VBA для извлечения значения валюты из где-то с той же колонке, но в другой строке:.Value возвращает только 4 дробную часть значения в формате валюты
Function GetValue(RefCell As Range) As Double
Dim i As Integer
i = Application.Caller.Column - RefCell.Column
Obtain = RefCell.Offset(0, i).Value
End Function
А вот установка :
Column1 | Column2
Test 1 | 0.11111
Test 2 | $0.11111
Использование GetValue (Test1) дало мне $ 0.11111 со всеми 5 знаками после запятой. Однако GetValue (Test2) дает $ 0.11110 только с первыми четырьмя запятыми. Почему функция возвращает только 4 десятичных разряда, если входной сигнал находится в формате «Валюта», а не в формате «Число»? Я хочу получить наиболее точное число со всеми десятичными знаками из ячеек с форматом валюты - то есть $ 0.1111 в отличие от $ 0.1111 .
Вы слишком сильно отредактировали свой код. Не должно быть 'GetValue = RefCell.Offset (0, i) .Value'? – Jeeped