动态创建DTPicker控件

时间:2016-08-24 05:05:43

标签: vba excel-vba dynamic userform excel

有人可以指导我如何在VBA中动态创建日期选择器控件吗? 这是我想要做的。我有一个宏,它将TextBox和ComboBox控件动态添加到VBA用户表单,具体取决于最终用户是否希望它可见。可见性(以及所有其他控制属性 - 宽度,高度等)由最终用户控制,方法是更新是/否,对照excel中“主”表中提供的控件名称的值。

这是我为TextBox和ComboBox控件所做的

`sub test()
 ---- some code

 Dim txtTextBox As MSForms.TextBox
 Dim cmbComboBox As MSForms.ComboBox

 If 'some cell in excel ‘Master’ worksheet' = "ComboBox" Then
 Set cmbComboBox = UserForm.Controls.Add("Forms.ComboBox.1", 'some cell in excel ‘Master’ worksheet')
 cmbComboBox.top = 'some cell in excel ‘Master’ worksheet'
 cmbComboBox.left = 'some cell in excel ‘Master’ worksheet'
 cmbComboBox.Width = 'some cell in excel ‘Master’ worksheet'
 cmbComboBox.height = 'cell in excel ‘Master’ worksheet'

  ----rest of my code
  end sub`

我的问题是,如何动态添加日期选择器,就像我添加TextBox和ComboBox的方式一样。我使用Controls.Add正确的方法来做到这一点?如果是这样我怎么能这样做?有人可以帮我解决这个问题! 希望我的问题有道理。

1 个答案:

答案 0 :(得分:0)

试试这个:

Dim dtDatePicker As Object
Set dtDatePicker = UserForm.Controls.Add("MSComCtl2.DTPicker", "dtp", True)
' Do whatever you want with dtDatePicker control here!