我有一个我在 8 月中旬创建的电子表格,其中有一个表格,从那时起每天都有一列。列标题是当天的日期。日期以我希望的方式显示:“dd/mm/yyyy”
但是,我有宏需要读取这些日期才能执行其工作。因为我使用的是表格,所以日期似乎是文本而不是 5 位数字(当我将标题单元格的格式设置为“常规”时,它仍然是“dd/mm/yyyy”格式而不是更改为 5 位数字。直到 9 月 1 日这才成为问题,之后 CDate(在宏中)开始将这些日期读取为“mm/dd/yyyy”
有没有办法让 CDate 识别澳大利亚日期格式而不是美国日期?或者如果做不到这一点,让表格标题保留为日期而不是文本?我宁愿避免将表转换回范围,因为宏旨在使用表属性、ListColumns 等。
更新:
我已经缩小了问题的范围。这不是日期,而是 ListColumn.Name 属性。出于某种原因,它正在重新转换我的日期。我Format()
用来设置日期格式,如下所示:
CreateHistoryColumn.Name = Format(headerDate, "dd/mm/yyyy")
MsgBox Day(headerDate) & "/" & Month(headerDate) & "/" & Year(headerDate)
MsgBox Format(headerDate, "dd/mm/yyyy")
MsgBox CreateHistoryColumn.Name
CreateHistoryCol
类的对象在哪里ListColumn
。3 个 MsgBox 调用显示以下内容:
2012 年 6 月 9 日 2012 年 6 月 9 日 2012 年 9 月 6 日
所以Format()
调用正确地格式化了日期,但调用ListColumn.Name
用于将格式更改为“mm/dd/yyyy”。