gpt4 book ai didi

excel - 日期格式在 excel vba 中不起作用

转载 作者:行者123 更新时间:2023-12-04 19:50:48 25 4
gpt4 key购买 nike

我在使用日期选择器日期时遇到了一些困难。 StartDate 和 EndDate 是 DatePicker 的值,Debug.Print 会给我“mm/dd/yyyy”。我正在尝试将日期格式更改为“dd/mmm/yyyy”,以便我能够将它与我从 MS 访问的数据进行比较。但它不起作用。

Sub cmdSubmit_Click()
Dim StartDate As Date, EndDate As Date

StartDate = DTPickStart.Value ' 6/11/2018
EndDate = DTPickEnd.Value ' 6/24/2018

StartDate = Format(StartDate, "dd/mmm/yyyy")
EndDate = Format(EndDate, "dd/mmm/yyyy")

Debug.Print StartDate ' gave me 6/11/2018 instead of 11/Jun/2018
Debug.Print EndDate
End Sub

关于我在这里做错了什么有什么建议吗?

提前致谢!

最佳答案

根据 MSDN Application.International(Index) 方法返回有关当前国家/地区和国际设置的信息。

当您将索引应用为 xlDateOrder 时

0 = month-day-year
1 = day-month-year
2 = year-month-day

因此,我们将使用此属性来覆盖系统行为。当 Excel-VBA 项目用于具有各种不同区域设置的不同地域时,这尤其有用。

下面,我将对您的代码进行一些小的调整。格式函数返回字符串,但您将其分配给导致此问题的日期。

Sub cmdSubmit_Click()
Dim StartDate As Date, EndDate As Date
Dim strStartDate as String, strEndDate as String

StartDate = DTPickStart.Value ' 6/11/2018
EndDate = DTPickEnd.Value ' 6/24/2018

strStartDate = Format(StartDate, "dd/mmm/yyyy")
strEndDate = Format(EndDate, "dd/mmm/yyyy")

Debug.Print StartDate ' It will give 11/Jun/2018
Debug.Print EndDate
End Sub

关于excel - 日期格式在 excel vba 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50832795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com