| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 356 人关注过本帖
标题:VBA控制数据有效性的工作表事件
只看楼主 加入收藏
c2003921
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2023-9-11
收藏
 问题点数:0 回复次数:0 
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编辑过]

搜索更多相关主题的帖子: 工作表 内容 事件 VBA 数据 
2023-09-11 10:18
快速回复:VBA控制数据有效性的工作表事件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037459 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved