跳到主要内容

如何在Excel中创建动态级联列表框?

添加一名作者 最后修改时间:2024-08-15

您可能知道如何在Excel中创建级联验证下拉列表。 但是,如何在Excel中创建动态级联列表框? 本文介绍了一种VBA方法来简化它。

使用VBA代码创建动态级联列表框


使用VBA代码创建动态级联列表框

如下面的屏幕截图所示,您需要创建一个包含Drink列的唯一值的父级列表框,并根据父级列表框中的选择在第二个列表框中显示所有对应的值。 以下VBA代码可帮助您实现它。 请执行以下操作。

动态级联列表框

1.首先,您需要从“饮料”列中提取所有唯一值。 选择一个空白单元格,输入数组公式 =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") 配方栏,然后按 按Ctrl + 转移 + 输入 键。 然后拖动 填充手柄 获得所有唯一值。 看截图:

用公式列出所有唯一值

备注: 在公式, $A$2:$A$11 是您将从中提取唯一值的范围。 J1是公式所在位置上方的单元格。

Tips::如果公式难以记住和处理,则 选择重复和唯一单元格 实用程序 Kutools for Excel 对于您来说,从列中快速提取所有唯一值是一个不错的选择。

请选择包含您要提取的唯一值的列。 然后通过单击启用该实用程序 库工具 > 选择 > 选择重复和唯一单元格。 在 选择重复和唯一单元格 对话框中,选择 所有唯一(包括第一个重复项) 选项,然后单击 OK 按钮。 然后,在该列中选择所有唯一值。 请复制并粘贴到新位置。 看截图:

使用 kutools 选择唯一值

Kutools for Excel:具有200多个方便的Excel加载项,可以在60天内免费试用,没有任何限制。 立即下载并免费试用!

2.通过单击分别插入两个列表框 开发商 > 插页 > 列表框(ActiveX控件)。 看截图:

单击“开发人员”选项卡中的“列表框”

3.右键单击父列表框,然后选择 查看房源 从上下文菜单中。 在里面 查看房源 对话框,更改 (姓名) 字段 饮品 或您需要的其他名称,将包含提取的唯一值的单元格区域输入到 列表填充范围 字段并关闭对话框。

在“属性”窗格中指定选项

4.重复步骤3更改第二个列表框的 (姓名) 字段到 查看房源 对话框。

5.右键单击工作表选项卡,然后选择 查看代码 从右键单击菜单中。 然后将下面的VBA代码复制到“代码”窗口中。 看截图:

VBA代码:在Excel中创建动态级联列表框

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

笔记:在代码Drink和Item中是两个列表框的名称,将它们更改为您自己的名称。

点击查看代码将代码粘贴到模块中

6。 按 其他 + Q 关闭键 Microsoft Visual Basic应用程序 窗口。

7.通过单击关闭设计模式 开发商 > 设计模式.

从现在开始,当在父列表框中选择任何一种饮料(例如“咖啡”)时,所有咖啡项目都将显示在第二个中。 选择“茶或酒”将仅在第二个列表框中显示茶或酒。 看截图:

创建动态级联列表框



相关文章:

最佳办公生产力工具

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!