VBA等同于VBScript' SetLocale'功能?

时间:2015-08-03 11:04:40

标签: excel vba excel-vba

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

SetLocale听起来像是我问题的完美解决方案,但经过一分钟的深入研究后,我发现GetLocaleSetLocale显然 支持VBA。

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

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

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

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:1)

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

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