【问题标题】:Excel Macro date format changing on file openExcel 宏日期格式在文件打开时更改
【发布时间】:2012-11-26 13:47:48
【问题描述】:

我有一个奇怪的问题,每当我手动将我的 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

【问题讨论】:

  • 嗨@JK63。手动打开 CSV 是什么意思?这是否意味着打开excel并粘贴值或右键单击文件并选择使用MsExcel打开?
  • 不,我的意思是我加载 excel,然后打开文件并选择我的 cab 文件。所有日期的顺序都正确

标签: excel vba


【解决方案1】:

VBA 使用默认的美国本地语言(即使您在不同的语言环境中),所有格式都设置为它(日期分隔符、小数分隔符)。您可以使用本地属性绕过它:

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

【讨论】:

  • 嗨,谢谢库拉斯特,刚刚有机会用上面的代码再次查看它,没有做任何花哨的事情,只是打开文件,当我运行该宏时它的日期仍然混淆...... . 如果我去文件打开,文件打开并显示正确的日期范围....
  • 能否记录(宏记录器)当您手动打开 csv 文件时会发生什么?
  • 嗨,kurast,我认为它的工作原理 - 我正在处理一些我已经“更改”过的旧数据,以弄清楚 excel 在做什么并忘记了它。我正在运行更多测试再次感谢
猜你喜欢
  • 2018-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
相关资源
最近更新 更多