首页 > 解决方案 > UserForm中Excel文本格式化的解决方法

问题描述

我正在使用用户窗体并计划在我的用户窗体中执行计算。为了以正确的方式将数字显示为文本,我使用了文本格式功能。

我使用以下语法:FORMAT(xxxx, "#'###"). 好吧,但是,当 xxxx < 1000 时,我得到一个前面带有撇号的字符串(即我使用的 1000 秒分隔符):'xxx

不幸的是,发生这种情况时,我无法使用字符串 'xxx 进行后续计算。因此CDbl('xxx)不起作用。

有什么建议可以规避这个问题吗?

标签: exceluserformtextformat

解决方案


仅用于显示目的:

Sub ForDisplayPurposes()
    Dim xxxx As Long, s As String
    xxxx = 123456
    s = Replace(Format(xxxx, "#,###"), Find:=",", Replace:="'")
    MsgBox s
End Sub

在此处输入图像描述

要转换回数字:

num = CDbl(Replace(s, "'", ""))

推荐阅读