日期类型管理不匹配(2 位数字年份)- 复制/粘贴用户操作

日期类型管理不匹配(2 位数字年份)- 复制/粘贴用户操作

在 MS Excel 上复制粘贴日期时,我发现一个奇怪的不一致,当日期有两位数的年份时。我在一台 Windows 7 Enterprise 64 位计算机上工作,我的 Excel 是 2010 版本。

问题描述:如果我在任何应用程序(比如说记事本)中写入一个短日期,然后将其复制到 Excel,则 2029 年之后的年份将被错误解释。示例:

  • 我在记事本上写下“12/01/29”,然后将该值复制粘贴到 MS Excel 中:该日期将被解释为“12/01/2029”。
  • 我在记事本上写下“12/01/31”,然后将该值复制粘贴到 MS Excel 中:该日期将被解释为“12/01/1931”(而不是“12/01/1931”)。

研究1-控制面板:经过初步研究,我在控制面板/日期配置上找到了一个选项,上面写着“如果插入 2 位数字的年份,则它将包含在 1997 年至 2096 年之间”。下图(它是法语,我的系统语言,但内容是我描述的):

在此处输入图片描述

但是,即使这种设置会让我期望上面的测试用例进行正确的转换,但事实并非如此。

进一步研究-VBA:VBA 通常会继承托管应用程序(我的情况是 MS Excel)的设置,而托管应用程序又继承了系统的设置。例如,如果系统语言是法语,则意味着月份“December”写为“Décembre”。因此,如果我这样写,它将起作用:myDate = DateValue("11-déc-12"),而如果我这样写,它将不起作用:myDate = DateValue("11-dec-12")。这显然是因为 VBA 继承了系统语言,因此它识别“décembre”(法语)而不是“december”(英语)。

但是,如果我这样写:

myDate = DateValue("12/01/31")

该值将被正确解释为12/01/2031

进一步发现:在 Excel 单元格中手动输入“12/01/31”将正确转换为 2031。因此问题似乎出现了仅限复制粘贴

我的问题:似乎设置之间存在不一致。有人能告诉我在哪里可以永久修复此问题,并确保设置“如果插入 2 位数字的年份,它将介于 XXXX 和 YYYY 之间”吗?提前谢谢您,如果需要,请随时询问更多详细信息。

相关内容