VBA 由于 Windows 区域设置,格式日期不起作用(我认为)

VBA Format Date doesn't work due to Windows regional settings (I think)

所以我试试这个:

gestern = Format(WorksheetFunction.WorkDay(Date, -1), "DD/MM/YYYY")

...而不是 DD/MM/YYYY 我得到 DD.MM.YYYY.

我认为这与我 Windows 上的区域设置有关 - 它们现在针对德国设置。它指出日期的默认格式是 DD.MM.YYYY。所以我认为这就是我的问题的原因。但我无法将其改回英文,因为那样我的其他一些宏就无法正常运行了。此外,我也没有看到添加替代日期格式的选项。

关于如何在不更改 Windows 的区域设置的情况下以 DD/MM/YYYY 格式获取昨天的日期的任何想法?谢谢!

您必须对 / 字符进行转义,这样 Format 才不会将其视为日期分隔符。要转义它,请使用 \ 字符:

gestern = Format(WorksheetFunction.WorkDay(Date, -1),"DD\/MM\/YYYY")