打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel技术 | 数据有效性13:在下拉列表中实现多项选择
userphoto

2017.08.09

关注

 

下面的一系列示例讲解了如何在下拉列表中选择多个条目,并演示了不同的情形。

 

1.如下图所示的工作表,通过在下拉列表中多次选择,将选择的条目依次输入当前单元格。

 

在工作表代码模块中输入代码:

说明

  • 代码的关键是存储已选择过的条目,然后将已选条目和当前选择的条目组合,并将最终的结果输入到当前单元格。

  • Target.Value= strOldVal & ', ' & strNewVal换成Target.Value= strOldVal & Chr(10) & strNewVal,得到下面的效果:

 

2.下面的示例实现当用户选择下拉列表中的条目时,会依次在该单元格右侧单元格中输入所选条目值,如下图所示。

在工作表代码模块中输入代码:

说明

  • 代码的关键是获取下拉列表单元格右侧单元格的位置,并输入值。

 

3.下面的示例与上面相似,只是在数据有效性单元格相邻列的单元格中依次输入选择的条目内容,如下图所示。

代码如下:

 

4.下面的示例实现在下拉列表中多项选择时,不能选择已经选过的条目。

工作表代码模块中的代码如下:

 

5.下面的示例实现在下拉列表中选择多个条目时,已选条目不在出现在下拉列表中,如下图所示。

工作表代码模块中的代码与上文第1个示例的代码相同,代码如下:

但是,在工作表中要进行一些设置。

首先,定义单元格区域H2:H10的名称为“剩余科目”,引用位置使用了公式,以定义动态名称。

然后,选择单元格区域C2:C5,设置数据有效性:

在单元格G2中输入公式:

=IF(COUNTIF($C$2:$C$5,'*'& F2 & '*'),'',ROW())

下拉至单元格G10

该公式查找列F中的单元格是否已在单元格区域C2:C5中,如果已存在则输入空,否则输入行号。

 

在单元格H中输入数组公式:

=IF(ROW(F2)-ROW(F$2) 1>COUNT(G$2:G$10),'',INDEX(F:F,SMALL(G$2:G$10,1 ROW(F2)-ROW(F$2))))

下拉至单元格H10

该公式列出了除去已输入单元格区域C2:C5中的值后剩下的值。

 

至此,工作表设置完成。当在工作表单元格区域C2:C5中的下拉列表中选取值后,已选取的值不会出现在下拉列表中。


查看相关文章请点击下面的标题:


本文属原创文章,转载请联系我(xhdsxfjy@163.com)或者注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ROW 函数 (查找和引用函数)
手把手教你,学会不同状态下的求和计算
Excel 的公式上方每天都要新增行,公式能自动把新的行算进去吗?
解析UsedRange属性
六个示例带你了解,如何在条件格式中使用函数
你要的来了!常用的10个 Excel 万能公式
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服