excel表单中文本框内的小数点处理

时间:2012-01-05 22:50:27

标签: vba excel-vba userform excel

我想在excel表单的文本框中显示一个数字。报告,但我只想显示任何小数点,如果它们存在,我只想显示2位小数。

e.g。如果数字是12那么我想显示12

如果数字是12.1那么我想显示12.10

如果数字是12.126,那么我想显示12.13

目前我有以下代码并且没有显示小数点:

Me.Amount.Value = Format(Me.Amount, "#,###")

1 个答案:

答案 0 :(得分:2)

您可以编写一个函数来有条件地返回两个格式字符串中的一个:

Function GetFormatString(varValue As Variant) As String
    Dim dblValue As Double
    If IsNumeric(varValue) Then
        dblValue = CDbl(varValue)
        If dblValue = Int(dblValue) Then
            GetFormatString = "#,###"
        Else
            GetFormatString = "#,###.00"
        End If
    End If
End Function

Private Sub Amount_AfterUpdate()
    Dim strFormat As String
    strFormat = GetFormatString(Me.Amount.Value)
    Me.Amount.Value = Format(Me.Amount.Value, strFormat)
End Sub