显示货币的 VBA 文本框

bdu*_*ubb 2 validation excel vba userform

我有一个包含许多用于用户输入的文本框的表单(这是在一个用户表单中,而不是在电子表格中)。我有几个与货币相关的框,我需要它们在用户在框中输入标准时显示逗号和小数点。到目前为止,我在网上找到了一堆相同的公式,但是当我在框中输入我的数字时,它与 4.00 一致(如果我先点击 4),然后我可以更改的是第二个 0。这是我看到的类似内容在线的:

textbox1 = format(textbox1, "$#,##0.00")
Run Code Online (Sandbox Code Playgroud)

也看到了一些与 cDbl

无论我尝试什么,它都不会让我输入比我输入的第一个数字更多的任何内容。我需要帮助。谢谢!

chr*_*sen 6

当用户输入数据时格式化变得非常棘手。输入完成后格式化可能更好。
如果条目被视为无效,也可以验证条目并恢复旧值

Dim TextBox1oldValue As String

Private Sub TextBox1_AfterUpdate()
    If IsNumeric(TextBox1) Then
        TextBox1 = Format(TextBox1, "$#,##0.00")
    Else
        TextBox1 = TextBox1oldValue
    End If
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    If IsNumeric(TextBox1) Then
        TextBox1oldValue = Format(TextBox1, "$#,##0.00")
    End If
End Sub

Private Sub UserForm_Initialize()
    TextBox1oldValue = "$0.00"
    TextBox1 = "$0.00"
End Sub
Run Code Online (Sandbox Code Playgroud)