在Excel上,我有一个包含美国格式数字的专栏(例如:1.536962890625000000e + 03),我想要实现一个VBA宏,将它们放入欧洲格式(例如:1,536962890625000000e + 03)。
通常,我只是在Excel中使用替换向导来替换"。"用","但这次我有很多数据要继续,我想使用VBA宏。
但是,当我将替换方法与VBA宏一起使用时,我认为它不会将标点符号后的数字视为小数,因为我得到了很大的数字(例如:1,53696289062500E + 21)。
经过一番挖掘后,我发现了 NumberValue 公式应该可以解决这个问题,我想在我的宏中使用它。
是否有一种简单/优雅的方式来转换"我的专栏中的美国数字是欧洲的?
答案 0 :(得分:0)
for方法对我有效
Dim lrow As Long
lrow = Worksheets("Worksheet1").Cells(Rows.Count, 1).End(xlUp).Row
Dim n As Integer
For n = 2 To lrow
v = Worksheets("Worksheet1").Cells(n, 1).Value
Worksheets("Worksheet1").Cells(n, 1) = v
Next n
答案 1 :(得分:0)
如果要为工作簿更改它,并使值保留其数字特征:
With Application
.DecimalSeparator = ","
.ThousandsSeparator = "."
End With
答案 2 :(得分:0)