打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA窗体之组合框的基本用法 | VBA实例教程

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www.zhanzhanrufeng.com/cat1/273.html,VBA交流群273624828。

这节来介绍一下Excel VBA怎样向组合框添加项目及怎样取得组合框的值。

向组合框中添加项目一般来说有三种方法,我们依次来看。

第一种使用AddItem,看下面的代码

'Private Sub UserForm_Initialize()
'  ComboBox1.AddItem "A"
'  ComboBox1.AddItem "B"
'  ComboBox1.AddItem "C"
'End Sub

上面的代码一次向组合框中添加一个项目,共添加了三条项目。

第二种方法使用数组,看代码

'Private Sub UserForm_Initialize()
' ComboBox1.List = Array("A", "B", "C")
'End Sub

事先将要添加的项目放到一个数组中,然后使用组合框的List属性。

第三种方法使用工作表区域,事先将要添加的项目放到工作表中,例如F1到F3分别写入A、B、C,然后运行下面的代码

'Private Sub UserForm_Initialize()
'  ComboBox1.RowSource = "Sheet1!F1:F3"
'End Sub

上面的代码用的是ComboBox的RowSource属性,值是相应的单元格区域。

下面再来看怎样向组合框中加入多列项目,这里只介绍RowSource方法,仍旧是事先将我们要加入的项目放到工作表的相应区域,然后执行下面的代码

Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Sheet1!A2:C4"
ComboBox1.ColumnCount = 3   '设置显示的列数
ComboBox1.ColumnHeads = True '是否包括头部
ComboBox1.TextColumn = 2    '设置显示值的列号
ComboBox1.BoundColumn = 3   '设置默认值的列号
End Sub

Sheet1的A2:C4是我们的数据区域,ColumnCount属性表示要显示 几列,这里设置成3列,ColumnHeads表示是否包括头部,True代表包括头部(注意这里A2:C4的范围并没有把头部包括进去),可以自己看下效果。我们这里有3列,但是组合框中只能显示一个值,那显示哪个值呢?用TextColumn属性来表示,2表示在组合框中显示的是第2列的值,例如你选择的是第一行数据,那在组合框中显示的值就是12。组合框ComboBox还有一个Value属性,同样的,如果是多列Value到底是指哪一列的值呢?这个就得用到BoundColumn属性了,3就表示ComboBox1.value就是第三列的值。那问题又来了,如果我们想要调用第一列或第二列的值怎么办?有办法,看下面的代码:

Private Sub CommandButton2_Click()
MsgBox ComboBox1.List(ComboBox1.ListIndex, 0)
End Sub

ComboBox1.List(ComboBox1.ListIndex, 0)就表示第1列的值,将0换成1就表示第2列的值,换成2就表示第3列的值,看出来了吧,列标是从0开始而不是从1开始的。

本节就到这里,示例文件下载地址:http://pan.baidu.com/s/1kT9jYK3

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何用VBA制作一个简易输入表单?
vba combobox添加下拉内容
Excel | 如何给列表框控件(ListBox)添加条目、设置列宽、添加标题? | 控件,添加,ListBox,条目
(1)vba excel in mac(超级基础以及杂乱的记录而已)
产量统计表,Excel vba
从零开始,步入Word宏编程的世界(第四讲)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服