怎样使用VBA列表框控件打造增强型数据有效性?
1、首先在开发工具中打开VBA编辑器

2、在单元格区域当中输入一些内容作为例子

3、在VBA编辑器中插入模块

4、在模块当中输入如下代码,然后运行
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Column > 1 Then Me.ListBox1.Visible=False: Exit Sub
'如果不是第一列则隐藏列表框并退出程序
With ListBox1
.Visible=True '如果是第一列则显示列表框
.LinkedCell=Target.Address '列表框的链接地址设置为当前单元格
.BoundColumn=1
'将第一列的数据与单元格连接,即第二、三列仅共查看,无法输入到单元格中
.ColumnCount=3 '列表框的列数为3
.ColumnHeads=True '显示表头
.ListStyle=fmListStyleOption '设置样式
.Left=Target.Left+Target.Width
'列表框的左边框等于当前单元格左边距加单格的宽度,即位于当前单元格的右边
.Top=Target.Top '列表框的上边距等于当前单元格的上边距
.ColumnWidths="35;35;35" '设置列表框三列的宽度
.ListFillRange="e2:g11" '设置列表框的数据引用源,也可改为动态数据源,将
行数11改为worksheetfunction.counta(range("G:G"))
'.ListFillRange="e2:g" & WorksheetFunction.CountA(Range("G:G"))
.ListIndex=0 '单击单元格时默认显示列表框中第一行数据
End With
End Sub

5、单击单元格A2,弹出列表框,列表框的条目即参照区域中的数据。显示列表框的同时列表框第一行数据输入到单元格中,如图

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:22
阅读量:64
阅读量:123
阅读量:27
阅读量:120