excel图表制作:创建级联列表框
发布时间:2022-09-13 01:55:37
本文利用excel图表记录集技巧,创建级联列表框。
示例效果如下图1所示。
图1
正如上图1所演示的,创建的一组列表框-Region,Market和State可以联动工作。也就是说,如果选择列表框Region中的某项,那么列表框Market和State仅显示在所选择的Region项中与该项关联的值。同样,选择列表框Market中的某项,列表框State中仅显示与Market项中与该项关联的值。
解决方法
使用ADO记录集为子列表框提取记录,使用父列表框的值作为条件。在这种情况下,Region和Markets都是父列表框,因为它们影响如何提供下一级的值。Market和State作为子列表框,因为它们的值取决于其上一级列表框。
在本示例中,创建一个函数,接受子列表框作为其参数,然后使用该列表框判断提取什么数据以及填充哪个列表框。
打开VBE,插入一个标准模块,输入下列代码:
Function CascadeChild(TargetChild As OLEObject)
Dim Myconnection As Connection
Dim Myrecordset As Recordset
Dim Myworkbook As String
Dim strSQL As String
Set Myconnection = NewConnection
Set Myrecordset = NewRecordset
‘识别要引用的工作簿
Myworkbook =Application.ThisWorkbook.FullName
‘打开对该工作簿的连接
Myconnection.Open”Provider=Microsoft.Jet.OLEDB.4.0;” & _ “Data Source=”& Myworkbook & “;” & _ “ExtendedProperties=Excel 8.0;” & _ “Persist SecurityInfo=False”
‘确定正确的SQL语句,在父列表框中使用该值作为查询的参数
Select CaseTargetChild.Name
Case Is =”lstMarket”
strSQL = “SelectDistinct [Market] AS [tgtField] from [Sheet1$A1:C40] Where [Region]='”& Sheet1.lstRegion.Value & “‘”
Case Is =”lstState”
strSQL = “SelectDistinct [State] AS [tgtField] from [Sheet1$A1:C40] Where [Market]='”& Sheet1.lstMarket.Value & “‘”
End Select
‘装载查询到记录集中
Myrecordset.Open strSQL,Myconnection, adOpenStatic
‘填充目标子列表框
With TargetChild.Object
.Clear
Do
.AddItemMyrecordset![tgtField]
Myrecordset.MoveNext
Loop UntilMyrecordset.EOF’自动选择列表框中的第一个值
.Value = .List(0) End With
‘清理 Myconnection.Close
Set Myrecordset = Nothing
Set Myconnection =Nothing
End Function
每个父列表框的OnClick事件只是简单地调用上面的函数,传递目标子列表框作为函数的参数:
Private Sub lstMarket_Click() CallCascadeChild(ActiveSheet.OLEObjects(Sheet1.lstState.Name))End Sub Private Sub lstRegion_Click() Call CascadeChild(ActiveSheet.OLEObjects(Sheet1.lstMarket.Name))End Sub
说明
1.示例中使用的是ActiveX列表框控件。
2.需要在VBE中设置对Microsoft ActiveX Data Objects Library的引用,如下图2所示。
图2


猜你喜欢
- WPS Office 2019 国家最高行政版本,是一款很强大的国产办公软件,在原有的基础上,最高行政版内置专业的办公功能,除此之外,自带无
- Win11记事本出现乱码怎么恢复?有网友反馈在使用记事本来保存一些文字数据的时候,打开突然发现自己的记事本显示全部为乱码。遇到这样的问题要如
- 默认情况下,Microsoft PowerPoint 2010 幻灯片版式设置为横向。1、纵向页面方向2、横向页面方向若要将演示文稿中的所有
- 软件如何分享到同步推?同步推可以同时支持苹果和安卓系统,提供海量游戏、软件、壁纸下载,是一款非常好用的应用商店。软件要怎么分享到同步推呢,下
- PPT表格数据怎么自动关联更新EXCEL文件?excel表格中的数据想要关联excel某个文件,该怎么办呢?下面我们就来看看ppt掩饰文件关
- 这篇WPS表格绘制出二次函数曲线图是小绘制二次函数曲线图教程编特地为大家整理的,希望对大家有所帮助!1、启动WPS表格2013,先设定abc
- 有时我们经常需要将Excel中的表格作为图片保存下来,此时大家通常都是利用屏幕截图工具,手动将需要的部分截取下来并保存。有时我们经常需要将E
- 在安装Oracle Grid Infrastructure检查约束时遇到一个错误,大体是说当前可打开的文件描述符的最大数为1024,而要求是
- 打开10240版Win10的Windows更新时,获取会员版本下面有一个修复我的选项,点击这个选项出现了“抱歉,出现问题”的错误,提示的错误
- Windows操作系统是现在使用最广泛的操作系统,每个软件的安装都有注册表的生成,所以通过修改注册表还可以设置软件参数等,在使用上有此功能不
- 在对word文档进行编辑的时候会遇到需要将指定格式的文字进行格式替换,更换字体颜色、字号、字形等,例如将红色文字替换为微软雅黑、加粗、蓝色,
- 在wps文字中,有个查找功能,使用该功能可以将文档中的关键词查找出来,下面就让小编告诉大家怎样使用wps文字查找功能。使用wps文字查找功能
- 比邻APP怎么申请进行直播?比邻APP是款专为年轻人打造的社交软件,用户们可通过比邻APP以最直接的打电话形式,结识来自天涯海角却与你有共同
- 苹果今日向 Mac 电脑用户推送了 macOS 12.4 开发者预览版 Beta 更新(内部版本号:21F5048e),本次更新距离上次发布
- 2017年天猫双11来了,各种电商平台和实体店都在筹备活动,支付宝花呗打算临时提升额度,每人可以多花2200元,下面就为大家详细介绍一下,有
- 批量处理,简单来说就是成批的数据或多个数据同时处理,其目的是提高效率。那么,在Word中,我们通常使用查找替换来达到既定目的。因
- 三角函数是相当简单,在上初中时我们就已经学过了,但是,出来工作久了,因为比较少用到,慢慢的很多上学学到的东西都忘记得差不多了,下面小编就为大
- 我们用Excel记录数据时,可能数据太多或是我们的数据比较特别,我们就需要注解帮我们来记录我们数据的真实情况,这时我们就要用到注解了。那么E
- PowerToys 是 Microsoft 创建的免费应用程序,您可以下载并安装在Windows 11和 Windows 10 上,以进一步
- excel if函数多条件判断非常常用。本文的案例需要进行3个判断。这个题是excel if函数多条件的典型应用,C列有三种条件:单元格值分