This is easier said than done. In the VBA editor, the decimal separator is the dot. However, the MsgBox function (and the Format function) will use the windows regional settings, and not the Excel settings, to format its results.
In order to have the MsgBox display a number using format settings of your choice, you need to create a string that has the value formatted as you want.
Here is one way of doing that:
Option Explicit
Sub dural()
Dim S As String
Dim D As Double
Const myDecSep As String = "."
D = 1234.56
S = Format(D, "0.00") 'will format using the system separator
S = Replace(S, Application.DecimalSeparator, myDecSep)
MsgBox S
End Sub
Note that if you want to use both decimal and thousands separators, and if you are interchanging, for example, the comma and the dot, you need to do this twice so as not to replace all your commas with dots, or vice-versa
Option Explicit
Sub dural()
Dim S As String
Dim D As Double
Const myDecSep As String = "."
Const myThousSep As String = ","
D = 1234.56
S = Format(D, "#,##0.00")
S = Replace(S, Application.DecimalSeparator, Chr(1))
S = Replace(S, Application.ThousandsSeparator, Chr(2))
S = Replace(S, Chr(1), myDecSep)
S = Replace(S, Chr(2), myThousSep)
MsgBox S
End Sub
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…