如何在Excel VBA的Date Picker中设置默认值为当日日期
给Excel VBA用户窗体的DatePicker设置默认当日日期及空值字段
一、让DatePicker默认显示当日日期
你之前赋值没生效,大概率是没把代码放在窗体的初始化事件里——窗体打开时只会触发这个事件来初始化控件,其他时机赋值可能控件还未加载。操作步骤:
- 右键你的用户窗体,选择「查看代码」打开代码窗口
- 在代码窗口左上角下拉框选
UserForm,右上角下拉框选Initialize,自动生成事件框架 - 在框架里添加代码(把
DTPicker1换成你实际的日期选择器控件名称):
Private Sub UserForm_Initialize() ' 给日期选择器设置当日日期 Me.DTPicker1.Value = Date End Sub
保存后运行窗体,DatePicker就会自动显示当天日期了。
二、设置字段默认值为空
分两种控件情况处理:
1. 文本框(TextBox)
同样在UserForm_Initialize事件里加代码(替换TextBox1为你的控件名):
Me.TextBox1.Value = ""
2. 另一个DatePicker要设为空
如果是日期选择器要默认空,需要两步:
- 先在控件属性窗口里把
ShowNullDate设为True(或者在代码里设置) - 然后赋值Null:
Private Sub UserForm_Initialize() ' 允许日期选择器显示空值 Me.DTPicker2.ShowNullDate = True ' 设置为空 Me.DTPicker2.Value = Null End Sub
额外注意
- 一定要确认控件名称和代码里的一致(在属性窗口的
(名称)栏查看) - 如果还是不生效,检查有没有其他代码(比如按钮点击事件)覆盖了这些默认值
内容的提问来源于stack exchange,提问作者Jonathan Carr
相关产品推荐
相关产品推荐

