Excel中的日期格式为MM-DD-YYYY,但Excel被识别为DD-MM-YYYY

时间:2013-07-08 05:07:48

标签: excel vba date

我的电子表格中有一个日期列没有正确排序,因为有些日期是MMDDYYYY HH:MIN格式,而其他日期是DDMMYYYY HH:MIN格式,而Excel将全部识别为MMDDYYYY HH:MIN。如何标准化?如何让Excel将日期识别为DDMMYYYY HH:MIN,并转换为MMDDYYYY HH:MIN(目前被视为DDMMYYYY)?

我尝试使用TEXT()将日期转换为文本,但现在我被卡住了。 DATE()不允许我指定我转换的格式。

1 个答案:

答案 0 :(得分:2)

如上面的一些评论所述,计算机的区域设置可能会影响Excel处理日期的方式,有时可能会引发难以解决的问题。

问题的第一个解决方案是更改单元格的(日期)格式;据我所知,你将通过VBA影响单元格,最好依靠VBA代码来确保一切正常。

您可以进行简单的测试,看看日期格式修改的行为:在A列中放置一些日期,在B列中放置相同的日期(即,单元格B1:“= A1”,单元格B2“= A2”等)并从VBA执行以下代码:

Range("A:A").NumberFormat = "mm-dd-yyyy hh:mm"
Range("B:B").NumberFormat = "dd-mm-yyyy hh:mm"

如果没有问题,您会在两列中看到不同位置的月份。在这种情况下,您可能依赖此类代码来确保日期格式是您想要的。

如果未成功通过此测试,我建议您依靠文本而不是日期来避免出现问题:将所有列的格式设置为文本(VBA中为.NumberFormat = "@"),解析给定值(日期,月份等),在计算中将它们视为日期,并在写入Excel时将它们转换回文本(之后您可以进行一些实验,看看将给定单元格转换为日期是否可以实现您想要的行为)。 / p>