VBA - 更改日期语言

Posted

技术标签:

【中文标题】VBA - 更改日期语言【英文标题】:VBA - Change date language 【发布时间】:2015-11-12 10:43:34 【问题描述】:

我正在尝试解决这样的问题: 在我正在使用的宏中,其中一个部分是检索日期月份(全名),目前使用:

LastMonth = Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mmmm")

但随后出现了一个问题 - 对于使用不同区域语言设置的人来说,日期以当地语言显示,但我需要为每个人提供 英语

我在互联网上四处寻找,但没有找到任何类似的解决方案。 有谁知道,怎么解决?

【问题讨论】:

看看这个类似的问题:***.com/questions/23405955/… 【参考方案1】:

Excel 公式TEXT 允许定义输出语言,因此其中一个选项是使用它的 VBA 等效项:

LastMonth = WorksheetFunction.Text(Date - Day(Date), "[$-409]mmmm")

【讨论】:

其他语言的解释和代码:excel.tips.net/…【参考方案2】:

试试这个,在论坛上找到的,它似乎有效。

Public Function Format_en(Datum As Date) As String 
Dim DD              As String 
Dim MMM             As String 
Dim YY              As String 

DD = Format(Datum, "dd") 
MMM = Choose(Month(Datum), "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December") 
YY = Format(Datum, "yy") 

Format_en = DD & "." & MMM & " " & YY 
End Function 

MsgBox Format_en(Date) 

参考:http://www.office-loesung.de/ftopic99887_0_0_asc.php

干杯

【讨论】:

【参考方案3】:

只需使用 [$-409] 强制英文数字格式。

.NumberFormat = "[$-409]mmmm yy"

给出一个输出,例如“12 月 19 日”。

.NumberFormat = "[$-409]mmm yy"

给出一个输出,例如“12 月 19 日”。

【讨论】:

以上是关于VBA - 更改日期语言的主要内容,如果未能解决你的问题,请参考以下文章

使用 VBA 读写后 Excel 日期更改(月份和日期交换)

如何在颤动中更改显示日期选择器的语言

更改php语言的月份和日期

Win7系统怎么更改日期,时间和数字格式

怎么更改电脑日期格式

mysql中nls语言的日期时间