【问题标题】:Excel 2010 -How do I create a validation list from 2 lists and give them tiltlesExcel 2010 - 如何从 2 个列表创建验证列表并给它们倾斜
【发布时间】:2019-04-05 10:17:45
【问题描述】:

如何在 excel 2010 中从 2 个列表创建验证列表并给它们倾斜?

例如:

Column A:
1 Boys Names
2 Danny
3 Sam
3 Luke


Column B:
1 Girls Names
2 Sarah
3 Ellen
4 Jessica

在 C 列中,我希望能够从 A+B 列中选择“名称”而没有任何依赖关系。 我希望能够在下拉列表中看到:

Boys Names
-------------------
Danny
Sam
Luke
Girls Names
--------------------
Sarah
Ellen
Jessica

我不想选择“男孩名字”和“女孩名字”,但只能选择:Danny、Sam、Luke、Sarah、Ellen 或 Jessica。 有可能吗?

【问题讨论】:

  • 虽然其他人可能会提出一个我从未考虑过的惊人选择,但您可能需要考虑 VBA:Worksheet_Change 事件将 .Clear Target 当@ 987654326@ 是“男孩的名字”或“女孩的名字”。我也怀疑您能否在列表中使用粗体标题。
  • 我不想让它变粗。我编辑了问题,所以我希望现在很清楚我想要什么......
  • 好的 - 我可以理解格式问题。 (如果您需要一行连字符或等号,您可以使用 HTML 注释 <!-- --> 或连字符的字符代码 - 来防止自动“标题”格式)

标签: excel validation


【解决方案1】:

对于这样的列表:

男孩名字
------------
丹尼
山姆
卢克

女孩名字
------------
莎拉
艾伦
杰西卡

您可以在工作表模块中包含以下 VBA 代码:

Private Sub Worksheet_Change(ByVal Target As Range)
    Case "Boys Names", "Girls Names", "-----------": 'If the value is one of these options
        Target.Clear 'Blank the cell
    End Select
End Sub

可以使用If Target.Value="Boys Names" OR Target.Value="Girls Names"OR Target.Value="-----------" Then,但Switch 语句更简单、更整洁。您可能还想使用Intersect 来检查目标单元格,以防您在工作表的另一部分需要这些值。

【讨论】:

    【解决方案2】:

    正如评论的那样,Worksheet_Change 可能是您在列表中包含不可选择项目的最佳选择。但是,如果您愿意考虑另一种解决方案,您可以包含另一个单元格,您可以在其中选择要显示姓名的性别。然后,在数据验证对话框中,可以给出一个公式来选择合适的列表,例如:

    =IF(A1="Male",Names!$A$2:$A$4,Names!$B$2:$B$4)
    

    其中Names 是包含您的姓名列表的表格,A1 包含所需的性别。

    【讨论】:

    • 问题是我不能包含另一个单元格。我必须给出所有的选择......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 2021-09-23
    • 1970-01-01
    • 2011-08-28
    相关资源
    最近更新 更多