excel图表制作:创建级联列表框

办公教程导读

收集整理了【excel图表制作:创建级联列表框】办公软件教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1854字,纯文字阅读大概需要3分钟

办公教程内容图文

Windows使用教程,Windows系统教程,Windows优化教程

图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

办公教程总结

以上是为您收集整理的【excel图表制作:创建级联列表框】办公软件教程的全部内容,希望文章能够帮你了解办公软件教程excel图表制作:创建级联列表框
如果觉得办公软件教程内容还不错,欢迎将网站推荐给好友。

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » excel图表制作:创建级联列表框