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 - 更改日期语言的主要内容,如果未能解决你的问题,请参考以下文章