CSV文件:excel隐藏零

时间:2011-04-04 21:40:12

标签: excel vba csv formatting

如果我将csv文件加载到excel中,则值123.320000将变为123.32。

我需要按原样查看所有内容。任何阻止excel隐藏尾随零的方法?

阅读其他帖子,我发现做这样的事情可能会起作用“=”“123.3200000”,但这意味着每次我想查看它时都会在文件上运行正则表达式..因为它来自xxxx | ### | xxx格式,我无法控制生成部分。

2 个答案:

答案 0 :(得分:1)

您是如何加载CSV文件的?

如果您将其导入为“文本”格式,则Excel将保留所有格式,包括前导/尾随零。

在Excel 2010中,从“数据”选项卡导入并选择“从文本”,找到您的CSV文件,然后在出现提示时选择将数据格式化为“文本”

答案 1 :(得分:1)

我假设一旦导入的值在工作表中,您希望将它们视为数字而不是文本,即您希望能够求和,乘以等。将值作为文本加载会阻止您从这样做 - 直到你将值转换回数字,在这种情况下,你将失去尾随的零,这将带你回到你最初的难题。

请记住 123.32和123.3200000之间没有区别,你想要的只是改变显示格式,以便你的价值完​​全精确明确显示。你可以这样在VBA中这样做:

strMyValue = "123.3200000"

strFormat = "#."
' Append a 0 to the format string for each figure after the decimal point.
For i = 1 To Len(strMyValue) - InStr(strMyValue, ".")
    strFormat = strFormat & "0"
Next i

With Range("A1")
    .Value = CDbl(strMyValue)
    .NumberFormat = strFormat
    'Value now shown with same precision as in strMyValue.
End With