即使格式化为文本,Excel也会将“64E0113”样式代码读作数字“6.4E + 114”

时间:2015-02-19 21:01:46

标签: excel vba excel-vba

当读取包含ID号的csv文件时,excel正在读取字符串作为数字。在excel vba数组中读取相同类型的ID时也会发生这种情况。

Under locals, the elements of the array are displayed as datatype "String", but the format is still a number.

在locals下,数组的元素显示为数据类型“String”,但格式仍为数字。

我尝试将样式更改为文本以及在数组的各个元素上使用CStr()。有没有办法让excel读取ID作为字符串而不是数字?

感谢。

2 个答案:

答案 0 :(得分:4)

打开 .csv 文件时,您需要绕过自动转换。

使用导入向导打开文件并告诉向导该字段是文本。

enter image description here

答案 1 :(得分:1)

要转换回来,这可能适合:

=SUBSTITUTE(LEFT(A1,3),".","")&"E"&TEXT(RIGHT(A1,3)-1,"0000")