我在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。我想知道我是否误用了某些东西。
答案 0 :(得分:0)
尝试
Dim lastVal As Double
Variant有时会产生意想不到的结果。
你可能想要格式而不是圆形。
Debug.Print Format(lastVal ,"0.0000")
这会将您的值设置为4位小数。