Excel中的全球日期格式


2

在美国语言环境的Mac Mountain Lion上,我正在制作一个带有宏的电子表格

TEXT(TODAY(), "yyyy-mm-dd")&" is the date"

问题是该工作表还用于设置了法国语言环境的计算机,宏需要

TEXT(TODAY(), "aaaa-mm-jj")&" is the date"

和显示 #VALUE (以来 一个 是为了 ANNEE /年 Ĵ 是为了 怨妇/天 用法语,不是 ÿ d )。

有没有办法 - 宏观风格 - 使这种“yyyy-mm-dd”格式更加国际化,或者迫使Excel使用“ymd”格式甚至在使用法语区域设置的Mac上?

(如果可能的话,在相同的单元格中执行此操作,即不添加具有日期的新单元格,然后在显示的单元格中引用,因为我想尽可能少地修改工作表)

Answers:


1

我也有同样的问题 ;这是我的请求发布的答案 这里

====================================
Private Sub Workbook_Open()
With Application
    Select Case .International(xlDateOrder)
        Case 0   'mdy
            ThisWorkbook.Names("DateFormat").Value = _
                .International(xlMonthCode) & _
                .International(xlDateSeparator) & _
                .International(xlDayCode) & _
                .International(xlDateSeparator) & _
                .International(xlYearCode) & _
                    .International(xlYearCode)

        Case 1  'dmy
            ThisWorkbook.Names("DateFormat").Value = _
                .International(xlDayCode) & _
                .International(xlDateSeparator) & _
                .International(xlMonthCode) & _
                .International(xlDateSeparator) & _
                .International(xlYearCode) & _
                    .International(xlYearCode)

        Case 2 'ymd
            ThisWorkbook.Names("DateFormat").Value = _
                .International(xlYearCode) & _
                    .International(xlYearCode) & _
                .International(xlMonthCode) & _
                .International(xlDateSeparator) & _
                .International(xlDayCode)
    End Select
End With
End Sub

您只需在工作簿中定义名称“DateFormat”,然后在公式中将其用作= TEXT(A1,DateFormat)

问候


1

我刚刚编写了自己的用户定义函数

Public Function DATE_FORMAT(dt as Date, fmt as String) as String
    DATE_FORMAT = Format(dt, fmt)
End Function

它使用的事实是VBA始终与美国语言环境一起使用,因此我可以随时使用 DMY 作为我的格式字符串的一部分。

然后,您可以使用Excel公式 =DATE_FORMAT(A1, "YYYYMMDD") 即使在非美国/英国的地区。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.