【问题标题】:Excel VBA Drop Down List with dependent list with multiple selectionExcel VBA 下拉列表,带有多个选择的依赖列表
【发布时间】:2015-04-07 21:56:39
【问题描述】:

我有一个电子表格,客户必须在整个 Excel 中为 (1) 帐户、(2) 帐户名称和 (3) 帐户类别进行下拉选择,并且相互依赖。我实际上做了一个相互依赖的非 VBA 下拉列表。问题是下拉列表一次只能使用一个,而不是进行多项选择。

所以我想要的当然是下拉列表不仅适用于一行,而且适用于多行的选择。 此下拉列表适用于非 VBA 的唯一方法是根据帐户及其家属的数量创建许多唯一列表。

到目前为止,在没有使用 Excel VBA 的情况下,我已经完成了以下操作:

  1. 我已经定义了 3 个主列表范围的名称:GLacct、GLname 和 GLcat:

  2. 已创建 - 3 个唯一列表: So this Unique List is populated when the first DDL "55700" is selected, next DDL will populate "Research - Other" and then the next DDL will populate 3 choices correspondent to "Research -Other".

为了在 excel 中创建唯一列表,我添加了以下公式:

UniqueGLacct: `INDEX(GLacct,MATCH(0,COUNTIF($F$1:F1,GLacct),0))`

UniqueGLname: 
    `INDEX(GLname,MATCH(0,COUNTIF($G$1:G1,GLname)+(GLacct<>TM!$A$16),0))`

UniqueGLcat: 
    `INDEX(GLcat,MATCH(0,COUNTIF($H$1:H1,GLcat)+(GLacct<>TM!$A$16)+(GLname<>TM!$B$16),0))`
  1. 名称管理器 - 引用并添加了以下公式:

    GLacct:Offset(TB!$A$2,0,0,COUNTA(TB!$A$2:$A$1000)) 总帐名称:Offset(TB!$B$2,0,0,COUNTA(TB!$B$2:$B$1000)) GLcat:Offset(TB!$C$2,0,0,COUNTA(TB!$C$2:$C$1000))

    独特的GLacct:OFFSET(TB!$F$2,0,0,COUNT(IF(TB!$F$2:$F$1000=””,””,1)),1) 唯一的GL名称:OFFSET(TB!$G$2,0,0,COUNT(IF(TB!$G$2:$G$1000=””,””,1)),1) 独特的GLcat:OFFSET(TB!$H$2,0,0,COUNT(IF(TB!$H$2:$H$1000=””,””,1)),1)

  2. 将数据验证添加到需要名为 ™ 的工作表中的下拉列表的单元格:(问题是如果我在下一行中进行另一个选择,我仍然会从第一个选择中获取数据,这意味着为了工作,我必须为每个帐户创建尽可能多的唯一列表。

单元格:A16:uniqueGLacct

单元格:B16:uniqueGLname

单元格:C16:uniqueGLcat

如何使用 Excel VBA 使这个 Excel 下拉列表动态 3 个列表依赖于多个选择。但是,如果您注意到 55700 以下的帐户无法流行他们的依赖列表,因为第一个选择是 55700。 不使用 VBA 的唯一方法是为每个依赖帐户创建唯一列表。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    我不确定如果没有宏就不能做到这一点。

    1) 首先,您可以将参考样式更改为 R1C1: Link to great explanation

    2) 然后您将为每个唯一列表创建一个命名范围(我假设它们是有限的)。

    3) 然后您将添加验证列表,然后将间接添加到该范围的名称(在标题或偏移单元格中)到每个间接。

    有了这个,你可以说“这行,列偏移”或任何适用的内容: 在这种情况下,我选择了同一行,左侧的一列是我想要在下拉列表中的命名范围的名称。

    这样做的好处是您的所有单元格都有 1 个公式。您可以将显示更改回 A1 类型显示,并且公式会适应。

    【讨论】:

      猜你喜欢
      • 2013-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多