excel vba中能否动态创建控件

我想创建一组复选框,是跟据EXCEL表格里的数据来创建的,就是要计算才知道要多少个想用VBA弹出一个窗口,然后在窗口上动态创建,请问能否实现VB就可以轻易实现比如Dimi... 我想创建一组复选框,是跟据EXCEL表格里的数据来创建的,就是要计算才知道要多少个
想用VBA弹出一个窗口,然后在窗口上动态创建,请问能否实现
VB就可以轻易实现
比如
Dim i As Integer
For i = 1 To 3
Load Check1(i)
Check1(i).Caption = "Check" & CStr(i + 1)
Check1(i).Top = Check1(i - 1).Top + 500
Check1(i).Left = Check1(0).Left
Check1(i).Visible = True
Next
但是在VBA在就提示出错
有没高手帮个忙
究竟是不支持这样的功能还是另有方法
展开
 我来答
一点设计演示
高粉答主

2015-12-01 · 职场/教育各类模板,衷于原创
一点设计演示
采纳数:874 获赞数:83610

向TA提问 私信TA
展开全部

1.数据做好,在旁边增加一列辅助列,并输入如图公式。

2.公式下拉,报表数据有多少行,就拉到多少行。

3.工具栏-开发工具-插入-组合框。

4.在工作表中画出控件,右击控件,设置控件格式。

5.如图设置,先把报表的各类名称依次排列下来。

6.选中辅助列数据-插入图表-三维柱形图。

7.右击选中控件-单击按住控件移到图表内,再进行图表美化,就成了。

enocheasty
2009-09-21 · TA获得超过318个赞
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:104万
展开全部
把下面的代码添加到Userform下面的Initialize事件中,也就是窗体启动时候做的事。
Private Sub UserForm_Initialize()
Dim ChkBox As Control
Dim I As Integer
For I = 1 To 3
Set ChkBox = UserForm1.Controls.Add("Forms.CheckBox.1", "Chk" & Str(I))
ChkBox.Top = 2 + 25 * (I - 1)
ChkBox.Height = 20
ChkBox.Width = 100
ChkBox.Left = 2
ChkBox.Caption = "I am ChkBox" & Str(I)
Set ChkBox = Nothing
Next
End Sub

或者,你也可以把这段代码添加到一个过程中如下,但是记住,Showform一定要在你添加控件之后。

Sub test()
Dim ChkBox As Control
Dim I As Integer
For I = 1 To 3
Set ChkBox = UserForm1.Controls.Add("Forms.CheckBox.1", "Chk" & Str(I))
ChkBox.Top = 2 + 25 * (I - 1)
ChkBox.Height = 20
ChkBox.Width = 100
ChkBox.Left = 2
ChkBox.Caption = "I am ChkBox" & Str(I)
Set ChkBox = Nothing
Next
UserForm1.Show
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式