首页 > 解决方案 > 如何从 VBA 中的用户定义函数输出带两位小数的数字?

问题描述

我正在尝试使用 Excel VBA 创建用户定义的函数。功能如下。

Function fetchNSV(storeCode As String) As Long
    Dim nsv As Double
    Dim storeCodeLower As String
    
    storeCodeLower = LCase(storeCode)
    
    Select Case storeCodeLower
        Case "eca3"
            nsv = 15.67
    
        Case Else
            nsv = "N/A"
    End Select

    fetchNSV = nsv
End Function

然而,函数输出16.00而不是15.67. 我该如何解决这个问题?

标签: excelvba

解决方案


返回一个可以同时包含文本十进制数的Variant

Function fetchNSV(storeCode As String) As Variant
    
    Dim nsv As Variant
    Dim storeCodeLower As String
    
    storeCodeLower = LCase(storeCode)
    
    Select Case storeCodeLower
        Case "eca3"
            nsv = 15.67    
        Case Else
            nsv = "N/A"
    End Select

    fetchNSV = nsv

End Function

推荐阅读