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


Excel是一个强大的数据分析和处理工具。其功能之一是能够创建动态级联列表框,允许用户根据之前的选择从下拉列表中选择项目。这对于组织和筛选大量数据尤其有用。

在本教程中,我们将探讨如何在Excel中创建动态级联列表框。我们将首先讨论级联列表框的概念及其优势,然后逐步介绍在Excel中创建它们的过程。我们还将介绍一些技巧,以帮助您自定义和优化级联列表框。在本教程结束时,您将彻底了解如何在Excel中创建动态级联列表框以及如何将其应用于您的数据分析任务。那么,让我们开始吧!

创建动态级联列表框

在这里,我们将首先列出唯一值,修改ActiveX控件列表框的属性,最后使用VBA代码完成任务。让我们来看一个简单的过程,了解如何在Excel中创建动态级联列表框。

步骤1

考虑一个Excel表格,其中数据类似于下图。

首先点击一个空单元格,在本例中是单元格D2,并输入公式:

=IFERROR(INDEX($A$2:$A$10,MATCH(0,COUNTIF($D$1:D1,$A$2:$A$10),0)),"") 然后按CTRL + SHIFT + ENTER 获取第一个值,并使用自动填充柄向下拖动以获取所有唯一记录。

空单元格 > 公式 > CTRL + SHIFT + ENTER > 拖动。

步骤2

现在点击“开发工具”,然后点击“插入”,从ActiveX控件中绘制两个列表框。

开发工具 > 插入 > 列表框 > 绘制。

步骤3

然后右键单击第一个框并选择“属性”,然后将名称设置为“品牌”,将ListFillRange设置为D2:D5(唯一值的范围)。

右键单击 > 属性 > 名称 > ListFillRange。

步骤4

再次右键单击第二个列表并将其名称设置为“项目”。

步骤5

然后右键单击工作表名称并选择“查看代码”以打开VBA应用程序,并将下面提到的代码复制到文本框中

右键单击 > 查看代码 > 复制代码

代码

Private Sub Brand_Change()
   Dim i As Long
   Dim xRows As Long
   Dim xRg As Range
   Dim xRegStr As String
   Me.Items.Clear
   xRegStr = Me.Brand.Value
   Set xRg = Range("A2:A11")
   xRows = xRg.Rows.Count
   For i = 1 To xRows
      If xRg.Cells(i, 1).Value = xRegStr Then
         Me.Items.AddItem xRg.Cells(i, 2).Value
      End If
   Next i
End Sub

步骤6

然后关闭VBA应用程序并关闭设计模式,我们的最终输出将类似于下图。

结论

在本教程中,我们使用了一个简单的示例来演示如何在Excel中创建动态级联列表框以突出显示特定数据集。

更新于:2023年7月13日

235 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告