gpt4 book ai didi

vba - 在组合框下拉列表中格式化日期

转载 作者:行者123 更新时间:2023-12-02 01:53:41 26 4
gpt4 key购买 nike

我创建了一个简单的用户窗体,其中包含一个组合框,其中填充了一系列日期 (rngWeekList),但我非常头疼地试图让下拉框中的列表出现在“dd-mmm”中-yy”格式。这是我的代码:

Private Sub UserForm_Initialize()

' Populate the list with the date range
ComboBox1.List = Worksheets("Cover").Range("rngWeekList").Value

' Set the defulat selection (based off rngWeekIndex)
ComboBox1.ListIndex = Worksheets("Cover").Range("rngWeekIndex").Value - 1

' Format
ComboBox1 = Format(ComboBox1, "dd-mmm-yy")

End Sub

Private Sub ComboBox1_Change()
' Format
ComboBox1 = Format(ComboBox1, "dd-mmm-yy")
End Sub

这设法正确格式化组合框中的所选项目(例如“02-Jul-14”),但是当我打开下拉列表时,显示的所有列表条目都采用默认的“m/d/yyyy”格式。有没有办法更改列表条目的格式?对于习惯于看到月前一天的用户来说,这会造成混淆。

在此先感谢您的帮助,非常感谢。

埃德

最佳答案

我设法通过循环遍历 comboboax 中的每个项目并对其进行格式化来修复它(如果有更优雅的方法,请随时纠正我!)

Private Sub UserForm_Initialize()
Dim i As Integer

' Populate the list with the date range
ComboBox1.List = Worksheets("Cover").Range("rngWeekList").Value

'Format all items
For i = 0 To ComboBox1.ListCount - 1
ComboBox1.List(i) = Format(DateValue(ComboBox1.List(i)), "dd-mmm-yy")
Next i

' Set the default selection (based off rngWeekIndex)
ComboBox1.ListIndex = Worksheets("Cover").Range("rngWeekIndex").Value - 1

End Sub

Private Sub ComboBox1_Change()
' Format the selection
ComboBox1 = Format(ComboBox1, "dd-mmm-yy")
End Sub

抱歉发帖,但我真的以为我被卡住了。

再次感谢,

埃德

关于vba - 在组合框下拉列表中格式化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21443409/

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