ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 8394|回复: 13

数据有效性三级目录选项重复问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-11-23 16:55 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

问题1:如果在不借助辅助列的情况下,省,市两列的下拉列表显示不重复的名称。可否用定义名称的方式解决?

 

问题2:工作薄内定义了较复杂的名称,主要是名称本身是offset一类函数的,EXCEL是否会运行很慢?

 

问题3

能否使下拉列表框变长一点

 

请赐教,谢谢!

m7PimuEq.rar (15.8 KB, 下载次数: 30)
[此贴子已经被作者于2007-11-26 9:22:52编辑过]

zzh60kge.rar

15.8 KB, 下载次数: 37

数据有效性三级目录选项重复问题

yy1JmKvv.rar

15.8 KB, 下载次数: 29

数据有效性三级目录选项重复问题

x4eJWN59.rar

15.8 KB, 下载次数: 32

数据有效性三级目录选项重复问题

TA的精华主题

TA的得分主题

发表于 2007-11-25 11:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

对问题1不是很明白,请说明你针对的是哪一个技巧的应用?《精粹》里面讲解的是两级选择,没有使用辅助列。

包含公式(名称也是一种公式)的工作表肯定比纯数据的工作要慢,因为经常需要自动重算。但这种慢,一般情况下用户是感觉不出来的。

可以使下拉列表框变长,一般情况下的方法是在应用数据有效性前将列宽调宽,应用数据有效性后再调窄。但是这种方法不能保证100%成功。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-11-26 09:30 | 显示全部楼层

不好意思,修改了一下贴子,结果附件忘了加上,现在重新补上。

另外,版主所说的“可以使下拉列表框变长,一般情况下的方法是在应用数据有效性前将列宽调宽,应用数据有效性后再调窄。”这个方法好像无法使下拉列表框变长。

还有,名称里设置了动态引用,又使用了数据有效性后,明显的感觉到EXCEL运行很慢,而单元格里设置了复杂公式,只要记录不是很多,不会感觉到慢。

eoX0gk4M.rar (15.8 KB, 下载次数: 55)
[此贴子已经被作者于2007-11-26 9:34:02编辑过]

TA的精华主题

TA的得分主题

发表于 2007-11-26 11:04 | 显示全部楼层

1、不借助辅助列,除了用VBA,否则无法实现不重复下拉菜单。

2、可以变宽,不能变长(竖向)。

3、你的附件的确有些慢,具体原因未知。

请参考:有效性三级级联菜单的难题(有gdliyy精解)的1楼以及29楼结构变化思路的参考。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-11-26 11:22 | 显示全部楼层

我的附件中用了以下几项功能:

1、定义了三个名称

省=Sheet1!$A$2:$A$302

市=OFFSET(Sheet1!$B$1,MATCH(Sheet1!$G17,Sheet1!$A:$A,0)-1,,COUNTIF(Sheet1!$A:$A,Sheet1!$G17))

县=OFFSET(Sheet1!$C$1,MATCH(Sheet1!$H17,Sheet1!$B:$B,0)-1,,COUNTIF(Sheet1!$B:$B,Sheet1!$H17))

2、使用数据有效性产生三个下拉列表

3、在两个单元格区域使用了条件格式,来检测省-市-县的包含关系是否正确

就以上三项功能,且记录条数才几百条,但运行速度很明显感觉到慢(非电脑本身原因),纳闷

[em06] bS37bnkd.rar (15.8 KB, 下载次数: 70)

TA的精华主题

TA的得分主题

发表于 2007-11-26 11:48 | 显示全部楼层

删除条件格式后速度明显加快。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-11-26 13:40 | 显示全部楼层

回过头想可能是设置的公式都是动态的原因,EXCEL计算需要花费较多时间.

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-11-26 15:13 | 显示全部楼层

不利用宏,可否解决以下问题:

    前面已经到讨论到,在数据有效性三级目录里,当第一级的内容发生变化时 ,第二级的下拉列表可选项已经发生了变化,但是单元格显示的内容没有及时更新,如果忘记了从新选择第二级的内容,那么一、二级的对应关系是错误的,演示如下:

市/州名称县/区名简称
浙江台州三门县

第一条记录三者的包含关系是正确的,现在要把省份的内容改成北京,市 、县的名称没有变化,

市/州名称县/区名简称
北京台州三门县
EXCEL不会提示出错,但北京--台州--三门县这样的对应关系显然是错误的,现在加了条件格式来检查三者的对应关系,但是EXCEL运行速度明显感觉到变慢。

想请教的问题是,能否不利用宏的情况下,当前一级的内容发生变化,后一级的内容自动清除!比如把浙江该成北京后,市、县的内容自动清除。请高手指点。

6w3elE6Q.rar (43.48 KB, 下载次数: 31)

TA的精华主题

TA的得分主题

发表于 2007-11-27 09:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

根据你提供的数据,改了一下数据结构(参考4楼链接的第29楼)

做出的三级有效性+条件格式,速度没发现有什么变慢的感觉:

a0boHIFx.rar (8.06 KB, 下载次数: 153)


不用VBA根本无法实现自动清除单元格内容。

[此贴子已经被作者于2007-11-27 9:13:47编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-11-28 09:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

看了9楼朋友的附件,条件格式没变,省、市、县三个名称调整了一下,这样excel运行的确变快了。可否阐述一下快变的原理是怎么样的?谢谢!

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 06:44 , Processed in 0.042996 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表