【问题标题】:VBA equivalent to VBScript's 'SetLocale' function?VBA 相当于 VBScript 的“SetLocale”函数?
【发布时间】:2015-08-03 19:24:05
【问题描述】:

总结一下我的问题,我目前遇到的问题与this question here 的人完全相同。我正在尝试将美国日期解析为默认为德语的 Excel 工作表,并因此在大多数日期上给我一个类型不匹配。

SetLocale 听起来是我的问题的完美解决方案,但经过一分钟的进一步研究,我发现 GetLocaleSetLocale 显然在 VBA 中受支持。

当我将解析的日期分配给字符串变量时,它有点起作用了(我最终得到一个使用MM/DD/YYYYDD/MMM/YYYY格式的列,具体取决于我是否有一个类型不匹配,只要我使用On Error Resume),但我需要它们采用MM/DD/YYYY 日期类型/格式,以便将所有解析的日期与另一个单元格中的特定日期进行比较(试图确定该站点是否有任何自特定单元格中输入的日期起更新)。

我也尝试过TimeStamp = Format(TimeStamp, "MM/DD/YYYY")(TimeStamp 是一个包含解析日期的变量),但它似乎不起作用——很可能是由于类型不匹配错误。

如果有人知道链接问题中使用的 SetLocale 函数的 VBA 等效项供我试用,我将不胜感激。如果没有,我很乐意修改我的问题并在此处添加我当前的代码,以尝试共同制定解决方案。

感谢您的宝贵时间和帮助。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    如果你知道它们都是美国格式,你可以使用这样的函数:

    Function ConvertUSDate(sDate) As Date
        ConvertUSDate = Evaluate("DATEVALUE(""" & sDate & """)")
    End Function
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-21
      • 2011-12-01
      • 2017-06-26
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      相关资源
      最近更新 更多