如何在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
我不想选择“男孩名字”和“女孩名字”,而只能选择:丹尼,山姆,卢克,莎拉,艾伦或杰西卡。 有可能吗?
答案 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
包含所需的性别。