当前日期以美国显示,而不是以前的预期格式

Current date displayed in US rather than expected format as it was previously

此 Excel VBA 代码不再有效。

Private Sub cmdAjouter_Click()
Dim ws As Worksheet
Dim lr As Integer

Set ws = ThisWorkbook.Sheets("Achats"

lr = ws.Range("A" & Rows.Count).End(xlUp).Row + 1
ws.Range("M" & lr).Value = Format(Date, "dd/mm/yyyy")

'[...]

End Sub

今天是 2020 年 2 月 11 日,它应该 return 日期为“11/02/2020”(法语格式),但 return 是“02/11/2020”(美国格式)。

最好将它存储为实际的 Date 而不是 String 并且只使用 .NumberFormat 属性 来格式化它,这样是不会尝试根据您的区域设置再次转换它。

ws.Range("M" & lr).NumberFormat = "dd/mm/yyyy"
ws.Range("M" & lr).Value = Date

如果日期是 2 月 13 日,您的方法可能会正常工作,从那时起就不会混淆 13 是一个月。