Excel 宏日期格式在文件打开时更改

标签 excel vba

我有一个奇怪的问题,每当我手动将 csv 文件打开到 Excel 中时,日期在英国语言环境中显示格式正确 - dd/mm/yyyy。但是,我有一个宏可以打开我的 csv 文件,并且我得到一些格式为 mm/dd/yyyy 的日期和其他格式为 dd/mm/yyyy 的日期。该模式似乎是不正确的,似乎是当 是当天的单个数字时,因此 05/11/2012 现在显示为 11/05/2012,但 15/11/2012 显示与 csv 完全相同文件。

任何帮助都会很棒。

谢谢 贾兹

Sub openfile()
'
' openfile Macro
'

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

最佳答案

VBA 使用美国的默认本地(即使您位于不同的区域设置)并设置所有格式(日期分隔符、小数分隔符)。您可以使用本地属性绕过它:

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

关于Excel 宏日期格式在文件打开时更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13566163/

相关文章:

vba - 比较 2 列值(同一行)

regex - 如何根据匹配移动到 Excel 工作表的不同单元格?

excel - 如何以文本格式从 Excel 文件导出到 csv 文件,该文件具有前导零?

excel - 如何使用公式在 Google 表格中创建与 Explore()、implode() 模式匹配方法等效的方法?

vba - 下拉选择后无法打开匹配的工作簿

vba - 查找Excel公式中所有使用的引用

xml - 用户定义的类型未定义 windows 10

excel - 从单元格 VBA excel 获取显式工作表超链接

java - Apache POI : Open Template, 写入,另存为。崩溃并创建损坏的文件

excel - 如何删除基于 J 列 = 0 内发布的行?