VBA解释inputdate
我有这个恼人的date格式与Excel VBA不一致。 我有一个源文本文件,其格式为dd/mm/yyyy
(即合理的格式)。 但我需要将其转换为yyyy/mm/dd
(为了保持一致性,我还将此格式设置为我的计算机中的默认值)。
当我将这个文本文件导出到数据库时,如果dd
和mm
值都小于12,VBA将它们视为mm/dd/yyyy
而不是dd/mm/yyyy
。 即使我对这种非标准的date格式,糟糕的VBA,也很困惑。
例如,我的文本文件是CDate("06/08/2015")
,即8th June
6th August
,但是CDate("06/08/2015")
2015/06/08
年8th June
CDate("06/08/2015")
返回2015/06/08
年8th 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是哪个位。