【发布时间】:2015-12-27 06:53:19
【问题描述】:
我有这个恼人的日期格式与 Excel VBA 不一致。我有一个源文本文件,其日期格式为dd/mm/yyyy(即健全的格式)。但我需要将其转换为yyyy/mm/dd(为了保持一致,我还在我的计算机中将此格式设置为默认格式)。
当我将此文本文件导出到数据库时,如果 dd 和 mm 的值都小于 12,VBA 会将它们视为 mm/dd/yyyy 而不是 dd/mm/yyyy。即使我对这种非标准的日期格式,糟糕的 VBA 感到非常困惑。
例如,我在文本文件中有06/08/2015,即6th August,但CDate("06/08/2015") 返回2015/06/08,即8th June。但是如果文本文件有15/08/2015,VBA可以识别为2015/08/15。
如何告诉 VBA 06/08/2015 是 dd/mm/yyyy 格式?
对于这项烦人且乏味的任务的任何帮助将不胜感激!
【问题讨论】:
-
VBA 偏向于美国日期。使用 CDate() 时,如果 mm/dd 可以形成合法日期,它将按此方式进行。