VBA控制数据有效性的工作表事件
请教各位高手:我用vba工作表事件设置数据有效性,主要实现几个功能:
1、禁止复制粘贴;
2、禁止越过左侧列表直接填右侧列表,即必须自左向右逐一选择,不能跳、不能空;
3、当删除左侧已选项时,自动删除同一行的右侧已选项;
4、当同一行右侧有内容而左侧某列为空值时,该行3列内容全部清空,禁止不选左侧直接手工填入右侧内容,以防数据有效性失效。
说明:“省市县名单”为数据源,“下拉表”中ABC共3列为实际操作区域。
但是,实际执行中主要存在2个问题,全部集中在附件的第一段程序中:
1、ABC 3列全部选择填充后,若删除A列单元格内容,如果不使用On Error Resume Next,会报错,但也能得到想要的结果(即BC列的内容自动清空);
2、本来觉得这个程序运行的还可以,但在部分语句的后面加了msgbox提示后,才发现其实运行过程中浪费了很多时间,有时候要对msgbox信息点击50多次。
3、意外发现的一个小问题,本来我设计的操作区是ABC列,但第5行的D列及以后不知为什么也出现了数据有效性选项,而且删除此行后不知什么时候又出现了。
请帮我看看,如何解决这2个问题。
vba设置数据有效性.rar
(21.56 KB)
[此贴子已经被作者于2023-9-11 15:34编辑过]