首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel自动更改日期格式,即使在更正之后也是如此。

Excel自动更改日期格式,即使在更正之后也是如此。
EN

Stack Overflow用户
提问于 2018-06-07 12:58:17
回答 1查看 445关注 0票数 0

我正在帮助更新其他人的VBA代码,因为他们被拉到一个不同的项目。代码从输入表中读取数据,然后打开4种结果表单,填充它们,将它们保存为CSV文件,然后重新隐藏它们。

问题:其中一个数据条目是被格式化为##-#的数字,比如20-2、13-5和12-1。12-1是问题所在。Excel将其视为日期格式,并在我的结果表中打印1-Dec。

解决方案--我尝试过使用:我尝试在程序重新隐藏数据和更改格式之前停止该程序,但它抛出了数字。然后我也不能保存它,因为程序已经运行了一半,我不想那样保存文档。然后,我试图在程序运行和清除之后,在结束时取消隐藏这些表,但是在程序运行后没有完全删除数据,当您尝试第二次运行它时,它就不能正确运行。最后,我试着在程序运行之前消除隐藏,并将格式设置从"General“更改为"Text",但即使在保存和关闭之后,似乎也没有产生影响。

,我的问题,:首先,我正在改变格式,对吗?其次,有没有人知道如何用这种方式对抗excel自动格式化。我在VBA工作了大约3周,以前只遇到过一次,但它很容易修复。这个似乎没有遵循那个模式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-07 19:16:46

既然我得到了一个答案,我想我现在应该为将来可能会遇到这种情况的人做第一次自我问答。感谢上面评论中的那些用户帮助我解决了这个问题。这样的代码行:

代码语言:javascript
复制
Dim variable1 As Variant
variable1 = Sheets("Sheet 1").Range("A1").Value
Sheets("Sheet 2").Range("A1").NumberFormat = "@"
Sheets("Sheet 2").Range("A1") = variable1

或者使用单元格选项,我们可以看到这样的代码:

代码语言:javascript
复制
Dim variable1 As Variant
variable1 = Sheets("Sheet 1").Cells(1,1).Value
Sheets("Sheet 2").Cells(1,1).NumberFormat = "@"
Sheets("Sheet 2").Cells(1,1) = variable1

这两个代码维度都是一个变量,用于存储表1中的单元格A1,引用Sheet 2并将该单元格设置为新格式(使其格式为数字,而不是自动格式化),最后一行将新格式化的单元格设置为等于变量中的值,但在保留我们设置的新格式的同时。

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

https://stackoverflow.com/questions/50741857

复制
相关文章

相似问题

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