6

我想用英文月份名称以特定格式检索今天的日期。

我正在使用 Format(DateValue(Now), "dd-mmm-yyyy"),这给了我 05-cze-2013,这是波兰语。我想要得到的是 05-Jan-2013.

我只对 VBA 解决方案感兴趣。还请提供一种将语言环境设置回原始的方法,同样使用 VBA。

4

2 回答 2

9

这不是很困难...

Sub VBA_Dates_Format()
    Cells.Clear
    Range("A1").Value = Now
    Range("A2").Value = Now
    ' Polish
    Range("A1").NumberFormat = "[$-415]d mmm yy;@"
    ' English UK
    Range("A2").NumberFormat = "[$-809]d mmm yy;@"
End Sub

我通过记录和修改宏以适应标准来实现这一点。


可在此处进一步阅读

于 2013-06-05T08:42:19.090 回答
0

它不是干净的 VBA,但它是一种在字符串中获取本地化格式化日期的方法。Format 函数不能做的事情。

With Range("$A$1")
    .NumberFormat = "[$-809]dd mmmm"
    .FormulaR1C1 = "=NOW()"
    tmp = .Text
    .NumberFormat = "@"
    .Value = CStr(tmp)
End With

有关本地化格式的更多信息我很好的回答https://stackoverflow.com/a/899290来自 Ian Boyd

于 2015-12-17T11:07:47.047 回答