变体类型在2位小数处截止,而不是4位

时间:2015-07-27 18:33:49

标签: excel vba excel-vba

我在Excel VBA中编写了一个自定义函数来获取特定条件的最后一个数字。

功能如下:

Public Function GetLastIf(ByRef LookupRange As Range, ByVal MatchVal As Variant, ByVal RangeOffset As Integer) As Variant

Dim FRow As Long
Dim lastVal As Variant
For FRow = 1 To LookupRange.Rows.Count
    If LookupRange(FRow, 1) = MatchVal Then
        lastVal = Round(LookupRange(FRow, 1 + RangeOffset).Value, 4)
    End If
Next

GetLastIf = lastVal

End Function

我看到的范围有两个" Jul"第一列中的值。下一列分别为4.2641和4.2602,因此所需的输出应为4.2602。这个函数(GetLastIf(范围," Jul",1))只吐出4.2600。我想知道我是否误用了某些东西。

1 个答案:

答案 0 :(得分:0)

尝试

Dim lastVal As Double

Variant有时会产生意想不到的结果。

你可能想要格式而不是圆形。

Debug.Print Format(lastVal ,"0.0000")

这会将您的值设置为4位小数。