首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阻止Excel将数字范围转换为日期格式

阻止Excel将数字范围转换为日期格式
EN

Stack Overflow用户
提问于 2017-10-04 06:57:35
回答 1查看 189关注 0票数 0

我正在使用Excel将数据从一个输出.csv文件的系统转换到另一个可以读取.xls文件的系统。其中一列是大小,通常包括4-6、6-8等术语。当在Excel中打开csv时,这些项会自动(?)转换为日期(4月6日、6月8日等)我可以使用.NumberFormat = "m-d“使数据看起来像是*,但当然它仍然是一个日期值,我试图用它执行的任何操作都会转换回date。有没有办法把它完全转换成这种格式的文本?如果我将.NumberFormat声明为"@",它只是将值更改为一个序列。我使用size以及其他几列来创建一个长长的产品ID代码,用于库存目的……当大小更改为日期值时,我最终会丢失一些数据。

EN

回答 1

Stack Overflow用户

发布于 2017-10-04 23:30:26

我找到了一个完全从VBA运行的问题的解决方案-即,不依赖于特殊的导入条件。如果有任何建议或建议,我将不胜感激,特别是如果这可能会造成无法预见的错误:

代码语言:javascript
复制
Dim Size as String
For i = 2 To LastRow
    If IsDate(Range("H" & i).Value) Then
        Size = Month(Range("H" & i)) & "-" & Day(Range("H" & i))
        Range("H" & i).NumberFormat = "@"
        Range("H" & i) = Size
    End If
Next i

我测试的列包括字符串(XL、SM、12T等)的大小值,以及转换为日期(4-6、6-8)的值。这似乎会将其转换回字符串值,然后在以后的所有使用(连接和逻辑测试)中将其正确地视为字符串值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46554640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档