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")
。