问题描述
我向全球用户提供了电子表格,然后,当然必须使它适应各种区域格式。我使用这些区域设置在美国创建电子表格。俄罗斯的一位用户提到了一个问题,其中对话框中的文本框未显示正确的十进制分隔符(显示句点而不是逗号)。这是我创建的尝试解决此问题的代码:
Sub Decimals()
Dim ws_Test As Worksheet
Set ws_Test = ThisWorkbook.Worksheets("Test")
On Error GoTo errhandling
stDec_Sep = Application.International(xlDecimalSeparator)
If stDec_Sep = "." Then
uf_Decimal.tbDecimal = Round(ws_Test.Range("Decimal_Value"),3)
uf_Decimal.Show
Exit Sub
End If
If stDec_Sep = "," Then
uf_Decimal.tbDecimal.Value = Round(Val(GetNumber_Comma(ws_Test.Range("Decimal_Value"))),3)
uf_Decimal.Show
Exit Sub
End If
errhandling:
MsgBox "Operation Failed."
Exit Sub
End Sub
我们发现,舍入函数将数字转换回小数点的句点。在Round函数解决问题后,将转换从小数点转换为逗号。
uf_Decimal.tbDecimal.Value = GetNumber_Comma(Round(Val(ws_Test.Range("Decimal_Value"),3)))
我发现在任何地方都没有提到带有Round函数的怪癖。以前有没有人见过这种行为?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)