delphi怎么实现多个rzpagecontrol1_Excel怎么实现相互控制的多个下拉列表?

▲更多精彩内容,请点击上方Excel小铲子

操作系统版本

Windows 10 64位

Excel版本

Microsoft Excel 2016 64位

问题

Excel怎么实现相互控制的多个下拉列表?


就比如ABCD四个下拉列表,如果D下拉列表选择为空,则ABC下拉列表可以单独调整。如果D下拉列表选择了某一项,则ABC下拉列表也只能选相同选项。

解决思路

首先要说明的是大多数人眼中的Excel单元格下拉列表,其实是单元格应用数据验证(以前也叫数据有效性)后的一种外在表现。

数据验证(以前也叫数据有效性)是 Excel 为了提高录入内容规范性的功能,在充分掌握了数据验证(以前也叫数据有效性)的使用方法后,你就能将这个所谓的下拉列表玩出更多的花样,比如做出多级联动的下拉菜单、用户输入不允许内容时弹出警告或提示窗口、单元格被选中后自动打开输入法、在用户输入内容前弹出提示窗口等等。

要实现问题中的相互控制,只要对序列来源进行一个小小的变化,通过公式来实现当D下拉列表选择了某一项,则ABC下拉列表序列来源自动调整为与D下拉列表相同即可。

但由于数据验证(以前也叫数据有效性)的验证过程在数据发生变化时,所以如果在D下拉列表选择前已经完成了ABC下拉列表内容的选择将无法实现对ABC下拉列表的控制。如果需要实现对ABC下拉列表内容的实时控制,则需要使用VBA进行辅助。

因此建议如果不打算使用VBA辅助,就将D下拉列表作为优先选择项目,对ABC下来菜单中的内容进行控制,以免出现异常。

解决过程中涉及的函数简要说明如下,如已掌握相关知识可跳过本部分直接阅读解决步骤部分内容:

IF 函数是 Excel 中最常用的函数之一,它可以对值和期待值进行逻辑比较。因此 IF 语句可能有两个结果。 第一个结果是比较结果为 True,第二个结果是比较结果为 False。例如,=IF(C2=”Yes”,1,2) 表示 IF(C2 = Yes, 则返回 1, 否则返回 2)。

模拟数据

101942109831986fb076e8438be81758.png

解决步骤

增加3个辅助列,并在第一行输入公式后复制到下方。

a638941a267e9978b9dce9f6a9c547c4.png

接下来就是常规的设置数据验证(以前也叫数据有效性),选中单元格,单击【数据】选项卡→【数据验证】菜单→【数据验证】选项,以D下拉菜单举例。

68ec912bed3a8cb08014f9e31ff4408b.png

在【数据验证】窗口→【设置】选项卡中完成相关设置后,单击【确定】按钮。

c7fe0ac5966b6fd9cad7a5fa29600f50.png

ABC下拉菜单的【来源】应该是A1、B1、C1列。

使用VBA来进行辅助,则首先应该将文档另存为【Excel 启用宏的工作簿】格式。然后单击【开发工具】选项卡→【Visual Basic】选项。

db16810f7722323e01b2ea7d7dc15889.png

在VBE环境下,选中工作簿、事件后输入代码,基本就能实现所需功能了。

0d9149b2dbaee8ddc991d11fcb9a9f94.png

▼▼▼转发到朋友圈是最高的赞赏▼▼▼

▼更多精彩内容,请点击下方阅读原文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值