VBA货币到文本转换

我在一个WorkSheet中有一个货币值列表,例如$ 4,250.00,我想和等价的文本/string进行比较; 例如另一个工作表中的“$ 4,250”。 当我在InStr比较之前将货币值转换为文本时,我将丢失“$”和“,”导致“4250”,从而导致比较错误。 有没有办法将货币值转换为文本而不会丢失格式?

谢谢

可以使用Format(value, "Currency") (例如Format(Range("A1").Value, "Currency")将数值格式化为VBA中的Format(Range("A1").Value, "Currency")

此外, .Text属性将返回格式化的string,所以如果单元格A1包含4250并且以标准货币格式格式化,则Range("A1").Text将为您提供$4,250.00的string。

在Excel本身,我会build议使用一个公式,如=TEXT(A1,"$#,##0.00")