VBA货币到文本转换

时间:2016-08-17 21:33:36

标签: excel vba excel-vba

我在一个工作表中有一个货币值列表,例如$ 4,250.00,我希望与等效的文本/字符串进行比较;例如另一份工作表中的“4,250美元”。当我在InStr比较之前将货币值转换为文本时,我丢失了“$”和“,”,导致“4250”,这使得比较为假。有没有办法将货币值转换为文本而不会丢失格式?

由于

1 个答案:

答案 0 :(得分:2)

可以使用public int[] MyNumberMethod(object a, object b) { if (a is int || a is uint || a is short || a is ushort || a is long || a is ulong || a is byte || a is sbyte || a is float || a is double || a is decimal) { if (b is int || b is uint || b is short || b is ushort || b is long || b is ulong || b is byte || b is sbyte || b is float || b is double || b is decimal) return new int[] { Convert.ToInt32(b), Convert.ToInt32(a) }; } return new int[] { 0, 0 }; } 将数值格式化为VBA中的货币,例如Format(value, "Currency")

此外,Format(Range("A1").Value, "Currency")属性将返回格式化字符串,因此如果单元格A1包含4250并且格式为标准货币格式,则.Text会为您提供一个Range("A1").Text字符串。< / p>

在Excel中,我建议使用$4,250.00等公式。