VBA解释inputdate

我有这个恼人的date格式与Excel VBA不一致。 我有一个源文本文件,其格式为dd/mm/yyyy (即合理的格式)。 但我需要将其转换为yyyy/mm/dd (为了保持一致性,我还将此格式设置为我的计算机中的默认值)。

当我将这个文本文件导出到数据库时,如果ddmm值都小于12,VBA将它们视为mm/dd/yyyy而不是dd/mm/yyyy 。 即使我对这种非标准的date格式,糟糕的VBA,也很困惑。

例如,我的文本文件是CDate("06/08/2015") ,即8th June 6th August ,但是CDate("06/08/2015") 2015/06/088th June CDate("06/08/2015")返回2015/06/088th June ,即8th June 。 但如果文本文件有15/08/201 5,VBA可以将其标识为2015/08/15

如何告诉VBA 06/08/2015是以dd/mm/yyyy格式?

任何帮助这个烦人和乏味的任务将不胜感激!

使用DateSerial()而不是CDate():

  Dim d$ d = "06/08/2015" MsgBox DateSerial(Right$(d, 4), Mid$(d, 4, 2), Left$(d, 2)) 

这样你可以控制哪个date是哪个位。