Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA-更改日期语言_Excel_Vba_Date_Formatting - Fatal编程技术网

Excel VBA-更改日期语言

Excel VBA-更改日期语言,excel,vba,date,formatting,Excel,Vba,Date,Formatting,我试图解决这样的问题: 在我正在使用的宏中,其中一个部分是检索日期月(完整命名),当前使用: LastMonth = Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mmmm") 但随后出现了一个问题——对于使用不同地区语言设置的人来说,日期以当地语言显示,但我需要用英语为每个人设置日期 我在互联网上四处寻找,但没有找到任何类似的解决方案。 有人知道,这是怎么解决的吗?试试这个,在论坛上找到的,似乎很管用 Public Function

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

LastMonth = Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mmmm")
但随后出现了一个问题——对于使用不同地区语言设置的人来说,日期以当地语言显示,但我需要用英语为每个人设置日期

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

试试这个,在论坛上找到的,似乎很管用

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) 
参考:


Cheers

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

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

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

.NumberFormat=“[$-409]毫米yy”

给出类似于“12月19日”的输出

.NumberFormat=“[$-409]毫米yy”


给出类似于“Dec 19”的输出。

看看这个类似的问题: