怎样在VBA用户窗体上文本框中添加日历控件?

最终效果: 点击文本框右侧的向下三角按钮,显示日历;选定日期后,将值赋格文本框,然后点击文本框右侧的向下三角按钮,隐藏日历。
要求: 日历在文本框底部显示
难点: 文本框右侧的向下三角按钮是怎样做出来的?

问:文本框右侧的向下三角按钮是怎样做出来的?
答:使用“复合框”控件即可。

要求:日历在文本框底部显示
实现:在窗体中将日历控件放在复合框控件之下,调整大小对齐。然后通过日历控件的visible属性实现日历的显示与隐藏。

功能说明:双击“复合框”显示,再次双击隐藏。在日历上选择日期后,双击日历将选择的日期输入复合框。窗体打开后日历控件默认不显示。
功能代码:
Private Sub Calendar1_DblClick()
Me.ComboBox1.Value = Me.Calendar1.Value
Me.Calendar1.Visible = False
End Sub
Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.Calendar1.Visible = Not Me.Calendar1.Visible
End Sub
Private Sub UserForm_Initialize()
Me.Calendar1.Visible = False
End Sub

注:其中“复合框”的控件名称为ComboBox1,日历的控件名称为 Calendar1.
你可以直接新建窗体,拖入一个复合框和一个日历控件,双击窗体后将以上代码复制粘贴到代码区域即可。
以上可以实现你要的功能。如需示例附件,请发Email到[email protected],我会回复给你。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-11
office自带的日历控件,设计模式,把它画在你需要的地方,你所说的功能全部自带
第2个回答  2010-03-11
microsoft date and time picker control
在控件工具箱上右击,选择上面的控件附加进来,然后就可以用了
相似回答