利用货币化格式

我有一个与VBA获利格式的问题。 我有这个代码(这是一个很长的一小部分):

For i = 2 To (k + 1) ThisWorkbook.Worksheets(1).Cells(i, 5) = Format(ThisWorkbook.Worksheets(1).Cells(i, 5), " #,##0 €") For j = 7 To 11 ThisWorkbook.Worksheets(1).Cells(i, j) = Format(ThisWorkbook.Worksheets(1).Cells(i, j), " #,###0 €") Next Next ThisWorkbook.Worksheets(1).Cells(k + 1, 12) = Format(ThisWorkbook.Worksheets(1).Cells(k + 1, 12), " 0#,##0 €") ThisWorkbook.Worksheets(1).Columns("A:M").AutoFit 

每次我的数值小于1000时,代码只显示数值而没有€符号,但是当数值大于1000时,我没有问题。 我不明白为什么。 我试图改变我的格式(“#,## 0.0例如,但我不显示我想要的..)

有什么build议么 ? 谢谢 :)

假设您来自法国,正如您的个人资料中指出的,这可能是您最好的解决scheme:

 ThisWorkbook.Worksheets(1).Cells(i, 5).Style = "Currency" 

它会使用自动货币格式,这正是你所需要的 – 在数千个分隔符和欧元符号之后的2个数字。