动态创建DTPicker控件

问题描述 投票:2回答:1

有人可以指导我如何在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正确的方法来做到这一点?如果是这样我怎么能这样做?有人可以帮我解决这个问题!希望我的问题有道理。

vba excel-vba dynamic userform excel
1个回答
0
投票

试试这个:

Dim dtDatePicker As Object
Set dtDatePicker = UserForm.Controls.Add("MSComCtl2.DTPicker", "dtp", True)
' Do whatever you want with dtDatePicker control here!
© www.soinside.com 2019 - 2024. All rights reserved.