VBA - 更改日期语言

时间:2015-08-19 08:29:47

标签: excel vba date formatting

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

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

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

我正在环顾互联网,但没有找到任何类似的解决方案。 有谁知道,这怎么可以解决?

3 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:3)

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

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

干杯

答案 2 :(得分:-1)

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

.NumberFormat =“ [$ -409] mmmm yy”

提供类似“ 12月19日”。

.NumberFormat =“ [$ -409] mmm yy”

提供类似“ 12月19日”。