dependent下拉列表

17 Mar 2025 | 5 分钟阅读

在使用 Excel 时,我们都创建过或使用过组合框(Combo box)。它是一个下拉列表,提供了许多选项供您选择。Excel 下拉列表是一项有价值的功能,常用于创建用户窗体或 Excel 仪表板。

然而,您可能经常需要在 Excel 工作表中添加多个下拉列表,其中第二个下拉列表中的选项仅在第一个下拉列表中选择了首选项目后才可用。

这些被称为联动下拉列表组合框。

本教程将简要介绍联动组合框的所有详细信息,如何创建它,优点等等...

什么是联动组合框?

例如,在下面的示例中,您可以查看

我们创建了两个下拉列表,其中下拉列表 2 依赖于下拉列表 1。下拉列表 1 中有许多选项,但当我选择下拉列表 1 中的“水果”选项时,下拉列表 2 中只显示水果名称。同样,如果我们选择下拉列表 1 中的蔬菜,下拉列表 2 中将显示蔬菜名称列表。

所以,这里,下拉列表 2 是联动下拉列表。

Dependent Drop-down

创建联动下拉列表的步骤

以下是在 Excel 工作表中创建联动下拉列表的分步实现

  1. 将光标放在要放置主下拉列表的单元格上。
    Dependent Drop-down
  2. 转到“数据”选项卡。单击“数据验证”选项。Excel 将立即打开数据验证窗口。
    Dependent Drop-down
  3. 在数据验证框中,有三个选项卡。单击“设置”选项。从“允许:”下拉列表中,选择“列表”选项
    Dependent Drop-down
  4. 在“源”字段中,我们将提供包含我们想要放入主下拉列表中的数据的单元格的引用。在本例中:我们输入了范围 A2: A5。
    Dependent Drop-down
  5. 最后,单击“确定”按钮。这将会在选定的位置创建您的主下拉列表(下拉列表 1)。
    Dependent Drop-down
  6. 这将为您创建主要联动下拉框。请参阅下图。
    Dependent Drop-down
  7. 接下来,我们将为水果创建联动下拉框列表。选择数据集中的所有选项。
    Dependent Drop-down
  8. 转到“公式”选项卡。在“定义的名称”部分,单击“从选择创建”选项。它将自动从定义的选区中获取列表。
    Dependent Drop-down
  9. 将出现“从选择创建名称”对话框。由于选定列表中,标题在左侧,我们将在结果窗口中选择左列选项。完成后,单击“确定”按钮。

注意:遵循上述步骤将快速创建 2 个命名范围(“水果”和“蔬菜”)。水果命名范围将包含所有水果的列表,而命名蔬菜范围将包含所有蔬菜的列表。

Dependent Drop-down
  1. 将光标放在您要放置主下拉列表的单元格上。在本例中,我们选择了单元格
    Dependent Drop-down
  2. 转到“数据”选项卡。单击“数据验证”选项。Excel 将立即打开数据验证窗口。
    Dependent Drop-down
  3. 将出现数据验证窗口。在“允许:”字段中,请确保选择“列表”选项。
  4. 在“源”字段中,键入公式 =INDIRECT(G2),其中 G2 代表包含我们主下拉列表的单元格。
    Dependent Drop-down
  5. 单击“确定”。
  6. 上述步骤将在您的 E2 单元格中创建联动下拉列表
  7. 现在,当您在主下拉列表中进行选择时,第二个下拉列表中的指定选项将自动更新。在主下拉列表中,如果您选择“水果”选项,您会注意到包含各种水果选项的所有列表都将显示在联动下拉列表中。
    Dependent Drop-down
  8. 同样,如果您在主下拉列表中选择“蔬菜”,则所选蔬菜选项将显示在联动下拉列表中。
    Dependent Drop-down

解释-条件下拉列表(位于 H2 单元格中)包含公式 =INDIRECT(G2)。

它表示当我们选择 D4 单元格中的“水果”时,E3 中的联动下拉列表将通过 INDIRECT 函数指向命名范围“fruits”,因此返回该类别中的所有项目。

自动移除 Excel 中联动下拉列表中的项目

创建父下拉列表和子下拉列表后,对父下拉列表所做的任何修改都不会应用于子下拉列表。联动下拉列表不会更改,因此,这将在 Excel 工作表中导致错误输入。

例如,如果您选择“水果”类别并从联动下拉列表中选择“苹果”,然后返回主类别,这次您决定将主类别更改为“蔬菜”,但这次联动下拉列表将继续显示“苹果”作为项目。

这是个问题,对吧!但这是破解之道。

使用 Excel VBA,您可以轻松确保在主下拉列表发生任何更改时,联动下拉列表的内容都会自动重置。

请按照以下步骤使用 VBA 代码快速删除 Excel 中联动下拉列表中的项目,只需单击一次即可。

  1. 从 Excel 功能区菜单中,单击“开发工具”选项卡。
  2. 在列出的选项中,单击“Visual Basic”选项。它将打开 Visual Basic 编辑器窗口。(或者您也可以按快捷键 Alt+F11 直接打开编辑器窗口)。
    Dependent Drop-down
  3. 单击 Insert-> Module。它将打开新窗口。
    Dependent Drop-down
  4. 粘贴 VBA 代码以清除联动下拉列表中的内容

代码


Dependent Drop-down
  • 完成后关闭 Visual Basic 编辑器窗口。

结果是,现在,无论何时在主下拉列表中进行任何更改,VBA 代码都会触发,它将删除联动下拉列表中的所有元素。(请参阅下图)


下一个主题Excel 中的换行符