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

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

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

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

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

【问题讨论】:

标签: excel vba date formatting


【解决方案1】:

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

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

【讨论】:

【解决方案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 日”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-10
      • 2018-08-24
      • 2015-08-17
      相关资源
      最近更新 更多