我正在使用Vba-excel将csv文件导入excel。我坚持使用VBA中的formatpercent。如果我的区域设置为美国默认值,它可以正常工作。但是,如果任何区域使用逗号进行十进制,则它将无法正常工作。
fuction formatPercentValue (value as string) as string //value = 1
formatPercentValue = formatPercent(Round(CDbl(Val(value)), 5), 6)
// US: 100.000000%, HU (Hungary): 100,000000%
当我打电话给那个
时r as range
r.value = formatPercentValue (value)
// US: r.value = 1, HU: r.value = 1000000
我不知道如何解决这个问题,因为它出现在excel US: 100%
时
HU: 100000000%
。我不知道为什么r.value可以在美国设置1
,但它不在HU中。
答案 0 :(得分:0)
您应该使用Application.International
来测试设置并应用不同的格式:
If Application.International(xlCountrySetting) <> 1 Then
If Application.International(xlDecimalSeparator) <> "." Then