我的情况如下:
我从.CSV文件导入数据,该文件包含日期列。出于我自己的原因(我必须稍后再次处理数据),我希望date列保留为String类型变量,直到我稍后进行自己的处理。
所以我从DATA选项卡下的文本导入数据,选择我的分隔符并选择列数据格式为TEXT。当数据被移入时,一切似乎都很好。
现在因为数据是“不干净”,日期字段前后有一个空格。所以没问题:我写一个宏来修剪()值,这样就是这样:
Dim v As String
v = Cells(Row, col).Value
v = Trim(v)
Cells(Row, col).Value = v
使用循环根据需要重新定义row和col。
问题是:一旦宏运行,Excel将结果字符串识别为日期格式,因此将该单元格的值转换为日期格式化字符串。如何将其保留为String值?
答案 0 :(得分:3)
尝试:
Dim v As String
v = Cells(Row, col).Value
v = Trim(v)
Cells(Row, col).Value = "'" & v
如果您使用单引号添加单元格值,excel会将其视为字符串。
您也可以使用:
Dim v As String
v = Cells(Row, col).Value
v = Trim(v)
Cells(Row, col).NumberFormat = "@"
Cells(Row, col).Value = v