Excel 2010-如何从2个列表中创建一个验证列表并为其赋予倾斜

时间:2018-11-01 07:46:00

标签: excel validation

如何在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

我不想选择“男孩名字”和“女孩名字”,而只能选择:丹尼,山姆,卢克,莎拉,艾伦或杰西卡。 有可能吗?

2 个答案:

答案 0 :(得分: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来确定要定位的单元格。

答案 1 :(得分:0)

如前所述,Worksheet_Change可能是您最好的选择,因为它会将不可选择的项目包括在列表中。但是,如果您愿意考虑其他解决方案,则可以在另一个单元格中选择要显示其名称的性别。然后,在数据验证对话框中,可以提供一个公式以选择适当的列表,例如:

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

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