在一个列表框中显示另一列表框中的具体内容
有时,需要选中某列表框的的项目后,在另一列表框中显示该项目的具体内容,如下图1所示。

图1:两个列表框实现内容匹配
“专业工程”包括“建筑工程、装饰装修工程……”等,当选中项目列表框中的专业工程后,在分类列表框中显示相应的内容。同理,选择项目列表框中的措施项目后,在分类列表框中也会显示相应的内容。
第一步:准备数据
如下图2所示,在工作表Sheet1中输入下列数据。

图2:基础数据
将A列的数据命名为“项目”,将B列的数据命名为“专业工程”,将C列的数据命名为“措施项目”。注意,B列和C列的名称应与A列的数据相一致。
第二步:准备窗体界面
如图1所示,在用户窗体中放置两个标签控件、两个列表框控件,并将两个列表框控件分别命名为lbxItem和lbxCategory。
第三步:输入代码
在用户窗体代码模块中,输入下列代码:
Private Sub lbxItem_Change()
Dim rngCategory As Range
Set rngCategory = Sheet1.Range(Me.lbxItem.Value)
Me.lbxCategory.List = rngCategory.Value
End SubPrivate Sub UserForm_Initialize()
Dim rngItem As Range
Set rngItem = Sheet1.Range(”项目”)
Me.lbxItem.List = rngItem.Value
End Sub
运行后的最终效果如图1所示。当然,您可以在A列添加更多的项目数据,然后在C列、D列……添加相应的内容并以A列的数据命名,从而扩展本实例。

(1 次投票, 平均: 4 out of 5)