Excel 将数据格式更改为美国格式

Excel 将数据格式更改为美国格式,excel,vba,Excel,Vba,我想得到一些关于如何将日期格式改为公历(美国)的建议(我的日历是泰国的,年份部分是泰国的) 我运行了代码,日期显示为26.06.2562,我希望它是26.06.2019 Sub header_adding () dates = Now() dates = Format(Date, "dd.mm.yyyy") ws.Range("J1").Value = "GI status as of" & " " & dates End Sub 您需要计算,但不能只

我想得到一些关于如何将日期格式改为公历(美国)的建议(我的日历是泰国的,年份部分是泰国的)

我运行了代码,日期显示为
26.06.2562
,我希望它是
26.06.2019

Sub header_adding ()
    dates = Now()
    dates = Format(Date, "dd.mm.yyyy")

    ws.Range("J1").Value = "GI status as of" & " " & dates
End Sub

您需要计算,但不能只是格式化。

所以你必须从你的佛教年中减去
543

Option Explicit

Public Sub header_adding()
    Dim GregorianDate As String
    GregorianDate = Format$(DateSerial(Year(Date) - 543, Month(Date), Day(Date)), "dd.mm.yyyy")

    ws.Range("J1").Value = "GI status as of" & " " & GregorianDate 
End Sub
根据,Excel没有自己的设置来决定默认年份。但是,您可以将系统日期更改为“美国”日期,Excel现在应使用此新年作为默认日期

答案还提供了一个宏链接,用于在一年的前几个月修改默认年份。修改它以修改您输入的任何日期的年份应该足够简单:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If Target = "" Then Exit Sub
    If Not IsDate(Target) Then Exit Sub

    Application.EnableEvents = False
        Target = DateAdd("yyyy", -543, Target)
    Application.EnableEvents = True
End Sub

嘿,如果我想让它默认为美国的(语言环境始终是美国的)我必须从应用程序中设置它吗?@Nathataia如果你想让它成为美国的(格里高利),你需要将它设置为美国的(格里高利)。嘿,如果我想让它默认为美国的(语言环境始终是美国的)怎么办我必须从应用程序中设置它吗?从我对链接到的线程的理解来看,如果您将系统时钟设置为美国格式,Excel也应该使用这个。例如,您只需右键单击工具栏中的时钟,选择“调整时间和日期设置”,然后将其中的日期更改为所需的格式@纳塔塔亚