【问题标题】:Excel VBA: sorting a table featuring cells with drop-down listsExcel VBA:对具有下拉列表的单元格的表格进行排序
【发布时间】:2016-06-10 07:16:30
【问题描述】:

假设我有一个 Excel 表格,其中有一列(例如“B”),其中每个单元格都有一个不同的下拉列表进行验证。我的应用程序是这样的,“B”中的不同单元格可能在其相应的下拉列表中包含不同的项目。我想使用不同的列作为键对我的表进行排序,例如包含日期的列“A”,按升序排列。

我的问题是 Excel 的排序功能(显然)不包括验证列表。因此,排序后,“B”中的每个单元格最有可能以错误的下拉列表结束。有人可以建议一种简单的方法来实现 VBA 中的排序,使其包含下拉列表吗?我知道我可以尝试先对表格进行排序,然后使用下拉列表填充“B”,但如果可能的话,我想避免使用该选项。

【问题讨论】:

    标签: vba excel sorting dropdown


    【解决方案1】:

    你是对的,Sorting 似乎并没有改变验证规则。

    一种解决方法是将您的验证规则重写为对所有单元格都相同。这可以通过以下方式实现:

    • 将您的验证列表排列在一个块中,以 Key 值开头,例如使用您的示例数据

           F    G    H    I    J
      1    1    2    3    4    5
      2    1a   2a   3a   4a   5a
      3    1b   2b   3b   4b   5b
      4    1c   2c   3c   4c   5c
      
    • 然后将验证规则写为(列表)(对于第 2 行)=INDEX($F$2:$J$4,,MATCH($A2,$F$1:$J$1,0)) 并复制下来

    这使用列A 中的值作为1 行中的查找来确定要用作验证列表的块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-02
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 2020-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多