如何将变量格式化为字符串

时间:2017-10-30 19:18:07

标签: string vba variables format currency

所有以下内容都发生在If Statement

我有一个变量差,这是减去两个货币值的结果。

然后我有另一个变量Message,它看起来如下:

    If AssessedValue < ProposedValue Then
        Difference = Format(ProposedValue - AssessedValue, "Currency")
        Message = "Average value is " & Difference & " more than the current 
        appraised value. Do NOT recommend negotiations."
    Else
        Difference = Format(AssessedValue - ProposedValue, "Currency")
        Message = "Average value is " & Difference & " less than the current 
        appraised value. Recommend negotiations."
    End If

我的问题是,在显示的消息中,差异不显示为货币,而只显示未格式化的数字而不是货币(下面的消息示例)      平均价值比当前评估价值高21587。不要      建议谈判。

如何在此示例中将21587作为$ 21,587.00显示在邮件中?

提前感谢您对此问题的任何帮助。 柯克

1 个答案:

答案 0 :(得分:1)

有几种方法可以解决您的问题:

  1. 在将Difference格式包含在字符串中之前使用"Currency"格式格式化Message = "Average value is " & Format(Difference, "Currency") & " more than the current appraised value. Do NOT recommend negotiations." ,例如

    Difference
  2. String声明为Currency而非数字类型。 (我猜你已经宣布它当前是Dim Difference As String 类型。)

    Format(ProposedValue - AssessedValue, "Currency")

    这将确保Difference的结果不会转换回数值,以便存储在ns3变量中。