专业的编程技术博客社区

网站首页 > 博客文章 正文

Excel 动态添加复合框 ComboBox(checkbox动态赋值)

baijin 2024-10-24 08:49:53 博客文章 11 ℃ 0 评论

文/江觅

复合在vba编程中运用很普遍,具有一定适用性,这里就介绍一下如何动态添加复合框的方法。(附代码)

动态图片效果如下



新建一个窗体,用来显示复合框添加的位置,本例将复合框添加到顶部,单击新建按钮执行新建功能。



复合框和列表框有一些相同的功能,更加丰富一些。



这里的复合框只简单设置一下,做了下拉列表运用,大家什么更好应用欢迎留言。



可实现自动添加列表记录,此例是运用了数组进行list赋值,也可用单元格Range来给列表赋值。



添加了列表Change事件,用来显示选择效果,这也是一个基本的操作,实际应用比较常见。



新建代码

Private Sub CommandButton1_Click()
''''''''''' 新建复合框 '''''''''''''''''''
Dim Co1 As Object, Aobj As Object
Dim Cvalue(), Clist0(), Clist1()
Cvalue = Array("A", "B") '''定义新建复合框名称
Clist0 = Array("四大名著", "三国演义", "红楼梦", "西游记", "水浒传") '定义内容
Clist1 = Array("四大美人", "西施", "王昭君", "貂蝉", "杨玉环")
Dim u As Integer
u = UBound(Cvalue)
For i = 0 To u ''' 循环新建复合框
Set Co1 = Me.Controls.Add("Forms.ComboBox.1", Cvalue(i))
'''''''' 新建复合框代码 '''''''''''''
With Co1
.Top = 30
.Left = i * 150 + 30
.Height = 25
.Width = 130
.BorderStyle = 1
.Font.Size = 14
.Font.Name = "微软雅黑"

If i = 0 Then .List = Clist0
If i = 1 Then .List = Clist1
.Value = .List(0)
End With
Set Aobj = New ComChange ''''''' 新建复合框事件
Aobj.init Co1
Com.Add Aobj
Next i
u = u + 1
MsgBox "成功新建" & u & "个复合框!", vbInformation, "成功"
End Sub




本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表