Vba Excel的内容是;64E0113“;“以数字形式显示样式代码”;6.4E和x2B;114“;即使格式化为文本

Vba Excel的内容是;64E0113“;“以数字形式显示样式代码”;6.4E和x2B;114“;即使格式化为文本,vba,excel,Vba,Excel,读取包含ID号的csv文件时,excel将字符串读取为数字。在excel vba数组中读取相同样式的ID时也会发生这种情况 在局部变量下,数组的元素显示为数据类型“String”,但格式仍然是数字 我尝试过将样式更改为文本,以及在数组的各个元素上使用CStr()。有没有办法让excel将ID作为字符串而不是数字读取 谢谢。打开.csv文件时,需要绕过自动转换 使用导入向导打开文件并告诉向导该字段为文本 打开.csv文件时,需要绕过自动转换 使用导入向导打开文件并告诉向导该字段为文本 要转换回,

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

在局部变量下,数组的元素显示为数据类型“String”,但格式仍然是数字

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


谢谢。

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

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


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

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


要转换回,这可能适合:

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

要将其转换回,请执行以下操作:

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

当你说它以数字的形式读取值时,你的意思是它以数字的形式存储在内存中吗?或者,换言之,Excel何时将其转换为数字?是将值添加到工作表中时,还是打开csv文件时,还是从数组中读取值时。在将其输入excel时,它也会将其转换为数字,除非特别设置为文本格式。这是否回答了您的问题?您可以在键入时使用引号
作为前缀以避免解释,我认为在VBAYes中也可以使用相同的技巧@如果要导入文件,Gary的学生在下面有一个合适的答案。否则,您必须将范围格式化为文本(如果它是VBA解决方案,也可以使用VBA完成)。当您说它将值作为数字读取时,您的意思是将其作为数字存储在内存中吗?或者,换言之,Excel何时将其转换为数字?是将值添加到工作表中时,还是打开csv文件时,还是从数组中读取值时。在将其输入excel时,它也会将其转换为数字,除非特别设置为文本格式。这是否回答了您的问题?您可以在键入时使用引号
作为前缀以避免解释,我认为在VBAYes中也可以使用相同的技巧@如果要导入文件,Gary的学生在下面有一个合适的答案。否则,您必须将范围格式化为文本(如果是VBA解决方案,也可以使用VBA完成)。此方法适用于数组和导入时。谢谢。此方法适用于数组和导入时。谢谢