excel - 在 UserForm 中的 ComboBox 列表中使用自定义日期格式
问题描述
在我的 Excels 电子表格中,我有以下数据:
A B
1 2020-01-06
2 2020-01-07
3 2020-01-08
4 2020-01-09
5 2020-01-10
6 2020-01-11
7 2020-01-12
8
我使用的是德语 Excel,所以正常的日期格式是06.01.2020
,01.07.2020
依此类推。
为了将日期格式切换为上述样式,我使用如下屏幕截图中customized
的格式。JJJJ-MM-TT
--- 很抱歉只有德语版的屏幕截图。---
这一切都很好。
现在,我想使用range
A1:A7
inComboBox1
中的数据UserForm2
。
因此,我使用了这个 VBA:
Sub UserForm_Activate()
ComboBox1.List = Sheet1.Range("A1:A7").Value
End Sub
此 VBA 将列表插入到 中,ComboBox1
但不使用customized date
.
它切换回original date format
看起来像这样:
我需要在我的 VBA 中进行哪些更改,以便它以与中相同的样式显示日期range
A1:A7
?
解决方案
这段代码应该可以完成这项工作。
Private Sub UserForm_Initialize()
Dim Arr As Variant
Dim i As Integer
Arr = Sheet1.Range("A1:A7").Value
For i = 1 To UBound(Arr)
' this is English syntax and might be different in German
Arr(i, 1) = Format(Arr(i, 1), "yyyy-mm-dd")
Next i
ComboBox1.List = Arr
End Sub
该Initialize
事件在表单创建时触发,该Activate
事件稍后在它被激活时触发。使用该Activate
事件,您可以使用不同的列表再次Hide
更改数据和表单。Show
除非这是您的计划,否则它更像是“无法解释的错误”的来源。因此,我建议使用该Initialize
事件。
推荐阅读
- python - 导入子模块会影响以前的导入吗?
- k3d - 无法将图像推送到 K3d 本地存储库
- mysql - Mysql:选择更新从“不匹配条件”中得到结果
- python - Django 模型函数实现自动初始化特定字段的值
- python - 如何将我的 Dataframe 中的 Info 列拆分为 6 个单独的列?
- python - 即使发生错误,如何让代码继续运行
- typescript - 使用 prettier 解决 no-duplicate-imports eslint 错误
- xamarin.forms - Xamarin 社区工具包 AsynCommand 不工作
- swift - 是否可以滚动分层在 UITableView 之上的滚动视图?
- python - 我无法运行 streamlit