excel - Excel - VBA:日期格式数字(yyyy-mm-dd)不适用于所有值
问题描述
我正在使用 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 中添加什么来获得要应用的单元格格式,就像我手动执行它时一样?
谢谢!
解决方案
我设法通过日期函数生成日期来使其工作:
varSheetGeneratedCSV.Range("E" & j) = Year(varStartDate) & "/" & Month(varStartDate) & "/" & Day(varStartDate)
这每次都会输出正确的值。
推荐阅读
- javascript - 将javascript数据发送到mysql服务器表
- java - 使用 openCSV 从 CSV 文件读取时 JSOUP 格式错误的 URL
- javascript - 2 个图标之间的 CSS 过渡(材料设计)
- c# - 如何使用 Newtonsoft JSON 添加 N:1 引用或从外部注入字段?
- c# - 在 C# 中声明列表
- networking - Calico 打印“连接到数据存储的命中错误:连接被拒绝”
- xcode - TabView 在“预览”中全是黄色
- arrays - 如何在 Vue2 中的 Created() 上按 Id 合并(相等和不等长)数组
- flutter - 谷歌表格颤动
- javascript - 如何获得旧消息反应