Excel vba 当 OS 文化设置为英国时将日期转换为不同的格式

Excel vba converting date to different format when OS culture is set to UK

在 Excel VBA 中,我将硬编码日期分配给命名范围,如下所示:

 Worksheets("Main").Range("Effectivedate").Value ="11/12/2018"

这是在单击按钮时触发的。现在我的系统文化是英国。当我单击按钮时,单元格上填充的值为“12/11/2018”。如果我将文化更改为美国,那么它会填充为“11/12/2018”。

由于我的应用程序在美国和英国国家/地区之间使用,我想知道有没有一种方法可以在不格式化的情况下将日期分配给单元格。

我建议使用像

这样的模糊数据格式 ("yyyy-mm-dd")
"2018-12-11"

你能不能试试:

Option Explicit

Sub test()
    With Worksheets("Main").Range("Effectivedate")
        .Value = 43445
        .NumberFormat = "dd/mm/yyyy"
    End With
End Sub