设置特定日期格式VBA excel



我有一个独特的问题,无法在论坛中找到解决方案。我有一个excel表格,我可以通过列表选项输入日期。3个单元格的列表分别为日期(D1(、月份(M1(和年份(Z1(。我有一个按钮宏,它可以获取单元格的值,还可以通过VLOOKUP并行将月份名称转换为月份编号,因此输出是一个格式正确的字符串(DD/MM/YYYY(。我将DateSerial与Format结合使用。到目前为止一切都很好!

Y1 = Format(DateSerial(Z1, M1, D1), "DD/MM/YYYY")

然而,现在为了将这个字符串转换为日期,我正在使用CDate。如果我的区域日期设置为US(格式为MM/DD/YYYY(,则CDate将日期转换为本地时间格式。但是,我需要这种(DD/MM/YYYY(格式以备将来使用。如何在不考虑本地日期格式的情况下获得特定格式的输出?还有其他解决方案吗?提前非常感谢。

编辑:Y1被声明为字符串。当它被声明为Date时,不管格式条件如何,该日期已经以区域格式出现。我还尝试了用"符号如下,但它给了我一个溢出错误。

Y1 = Format(DateSerial(Z1, M1, D1), DD / MM / YYYY)

设置日期(没有格式(:

Y1 = DateSerial(Z1, M1, D1)

然后对Y1应用您喜欢的格式,即:

dd/mm/yyyy

最新更新