【发布时间】:2018-11-29 17:28:49
【问题描述】:
我正在使用 VBA 根据同一 XLS 文件中的其他工作表生成 XLS 工作表。 这是非常基本的,除了以下之外的所有工作:
varSheetGeneratedCSV.Range("E" & j).NumberFormat = "yyyy/mm/dd;@"
varSheetGeneratedCSV.Range("F" & j).NumberFormat = "yyyy/mm/dd;@"
我传递的值是从工作表的单元格中选择的,这些单元格的格式如下:
- 自定义:aaaa/mm/jj(法语语言环境,相当于 yyyy/mm/dd)
工作表在单元格中获取 E 和 F 列的预期值(j 是循环索引)。
但这是我的结果,取决于我无法确定的内容,你可以吗?
输入:
- 开始:2011/12/01
- 结束:2037/12/31
结果:
- 2011/12/01(预计)
- 31/12/2037(未预计,预计:2037/12/31)
输入:
- 开始:2028/06/19
- 结束:2018/12/9
结果:
- 19/06/2028(未预期,预期:2028/06/19)
- 19/12/2018(未预期,预期:2018/12/19)
知道为什么会有差异吗? 请注意,当我双击单元格的格式不正确,并且不做任何更改,按回车键时,格式就会正确应用。
我可以在我的 VBA 中添加什么来让单元格格式像我手动执行时一样被应用?
谢谢!
【问题讨论】:
-
您的输入值是存储为日期还是文本?
-
您没有向我们展示实际将信息输入单元格的代码
-
输入值在格式为日期“aaaa/mm/jj”的单元格中(相当于“yyyy/mm/dd”)我在VBA中指定“yyyy/mm/dd”格式用户需要输入具有相同格式的日期,并且我希望保留复制值的单元格,但它们会更改。并非所有时间都如帖子中详述
标签: excel date formatting vba