Excelmacrosdate格式在文件打开时更改

我有一个奇怪的问题,每当我手动打开我的csv文件到Excel中,date显示正确格式在英国语言环境 – dd / mm / yyyy。 不过,我有一个macros打开我的CSV文件,我得到一些date格式为mm / dd / yyyy和其他格式为dd / mm / yyyy。 模式似乎是那些不正确的似乎是当一个单一的数字一天所以2012年5月11日现在显示为11/05/2012,但15/11/2012是完全出现在csv文件。

任何帮助将是伟大的。

谢谢Jalz

Sub openfile() ' ' openfile Macro ' Workbooks.Open filename:= _ "c:\myfile.csv" Range("A1:J46").Select Selection.Copy End Sub 

VBA使用美国的默认本地(即使您处于不同的区域设置),所有格式设置为(date分隔符,小数点分隔符)。 你可以绕过它的本地属性:

  Call Workbooks.Open(Filename:="c:\myfile.csv", local:=True)