gpt4 book ai didi

excel - 为什么 Cdate() 仅适用于英语月份?

转载 作者:行者123 更新时间:2023-12-04 20:58:03 25 4
gpt4 key购买 nike

我有一个下拉框,项目取决于区域设置:

Private Sub UserForm_Initialize()
Select Case Application.International(XlApplicationInternational.xlCountryCode)
Case 1: 'English
With ComboBox1
.AddItem "January"
...etc
End With
Case 36: 'Hungarian
With ComboBox1
.AddItem "Január"
...etc
End with
Case 49: 'German
With ComboBox1
.AddItem "Januar"
...etc
End with
End Select
End Sub

后来我在这段代码中使用了选定的值:
Year_1 = 2017 'integer
Day_1 = 1 'integer
Date_from_userform = CDate(Year_1 & "-" & UserForm1.ComboBox1.Value & "-" & Day_1) 'date

在德国环境中,它工作得很好,但我在匈牙利环境中测试过,每次类型不匹配。

Cdate 不接受 2017-Január-1。 (Th excel 是匈牙利语)为什么?

如果月份取决于区域设置,它应该可以工作......
(或者我应该将下拉框中的值转换为数字吗?)

最佳答案

我会使用 Format 函数、DateSerial 函数和 ComboBox1.ListIndex 属性。

Private Sub CommandButton1_Click()
Year_1 = 2017 'integer
Day_1 = 1 'integer
Date_from_userform = DateSerial(Year_1, ComboBox1.ListIndex + 1, Day_1)
End Sub

Private Sub UserForm_Initialize()
For i = 1 To 12
ComboBox1.AddItem Format(DateSerial(Year(Date), i, 1), "mmmm")
Next
End Sub

关于excel - 为什么 Cdate() 仅适用于英语月份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42656228/

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