总结一下我的问题,我目前与this question here的人有完全相同的问题。我试图将美国日期解析为默认为德语的Excel工作表,并且因为它而在大多数日期给我一个类型不匹配。
SetLocale
听起来像是我问题的完美解决方案,但经过一分钟的深入研究后,我发现GetLocale
和SetLocale
显然 支持VBA。
当我将解析后的日期分配给String变量时,有点工作(我最终会使用MM/DD/YYYY
或DD/MMM/YYYY
格式的列,具体取决于是否我有一个类型不匹配,只要我使用On Error Resume
),但我需要它们MM/DD/YYYY
日期类型/格式,以便将所有解析的日期与另一个单元格中的特定日期进行比较(尝试确定自特定单元格中输入的日期以来该站点是否有任何更新。
我也尝试过TimeStamp = Format(TimeStamp, "MM/DD/YYYY")
(TimeStamp是一个包含解析日期的变量),但它似乎没有工作 - 很可能是由于类型不匹配错误。
如果有人知道VBA相当于链接问题中使用的SetLocale
函数供我试用,我将不胜感激。如果没有,我会很乐意修改我的问题,并在此处添加我当前的代码,试图共同制定解决方案。
感谢您的时间和帮助。
答案 0 :(得分:1)
如果你知道它们都是美国格式,你可以使用这样的函数:
Function ConvertUSDate(sDate) As Date
ConvertUSDate = Evaluate("DATEVALUE(""" & sDate & """)")
End Function