在Excel Vba中创建动态表单

时间:2015-07-03 06:51:45

标签: excel excel-vba checkbox vba

我需要在Excel中创建一个表单;其大小和元素取决于我在宏中填充的数组。

所以,基本上,我所拥有的是一个名为Activities(x)且带有x元素的数组。

每次宏运行时,

x都可能发生变化。我需要在每个列表旁边显示一个复选框,这个复选框会生成一个名为ActivitiesNew(y)的新数组,其中y显然)小于x

我不知道如何使用userForm大小(以便我可以合并所有应该显示的元素)或每个复选框的标题,以便显示正确的文本。

1 个答案:

答案 0 :(得分:0)

您可以像这样操作UserForm的大小:

'Suppose UserForm is the name of your element
With UserForm
    .Height     
    .Width
End With

对于复选框:

'Suppose CheckBox is the name of your element
With CheckBox
    .Left       'Beginning of the checkbox compared to the left side of the UserForm
    .Width
    .Top        'Beginning of the checkbox compared to the top of the UserForm
    .Height
    .Caption    'Change the displayed text
End With

如果你想要改变这些元素的位置和大小,那就足够了。

您还可以在使用VBA运行宏时创建CheckBox:

Set TheCheckBox = UserForm.Controls.Add("Forms.CheckBox.1", Visible = True)