ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 依要求找出单元格区域并上色

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-1-12 15:44 | 显示全部楼层 |阅读模式
本帖最后由 天地一相 于 2023-1-13 12:01 编辑

感谢帮助!详见截图和附件。有点点难度。
判断上色.PNG

上色.rar

7.98 KB, 下载次数: 13

TA的精华主题

TA的得分主题

发表于 2023-1-12 20:10 | 显示全部楼层
建议楼主结合附件内容,进一步举例描述下需求吧

TA的精华主题

TA的得分主题

发表于 2023-1-12 20:32 | 显示全部楼层
不知楼主啥意思?既要同时扩展上下单元格,又求最大。先这样看看。红色最大值,其余扩展
image.jpg

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-12 20:44 | 显示全部楼层
本帖最后由 天地一相 于 2023-1-12 20:55 编辑
shiruiqiang 发表于 2023-1-12 20:32
不知楼主啥意思?既要同时扩展上下单元格,又求最大。先这样看看。红色最大值,其余扩展

谢谢,基本是这个意思。最大值不用单独上色。找这个最大值就是找这一列的中心位,然后以这个中心位上下探索扩展单元格区域,用计算出的参照值约束扩展区的边界,然后上色。探索扩展时,或者同时上下添加,或者上下依次添加,先上还是先下,则看哪个值大就哪个先扩展进来。一端无可添加区域时,就只朝另一端延伸。代码在审核?等等测试。我先在论坛看了,似乎是采用了若可以则直接对称扩展的方式,这样会遇到一个问题,很多时候,只需要增加一个单元格即可符合,对称添加两个会超出太多。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-12 20:45 | 显示全部楼层
liulang0808 发表于 2023-1-12 20:10
建议楼主结合附件内容,进一步举例描述下需求吧

谢谢,基本就是3楼的样子。请看我给3楼的回复。

TA的精华主题

TA的得分主题

发表于 2023-1-13 07:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 shiruiqiang 于 2023-1-13 07:18 编辑

就是求最大值的对称行,以对称的大的单元格先满足条件
image.jpg

上色.rar

16.51 KB, 下载次数: 9

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-13 08:52 | 显示全部楼层
本帖最后由 天地一相 于 2023-1-13 09:07 编辑
shiruiqiang 发表于 2023-1-13 07:15
就是求最大值的对称行,以对称的大的单元格先满足条件

谢谢,是这样的。测试发现一个现象:乘 0.6 这里,可以向下修改到 0.1 没问题,但向上修改成 0.8 就不行,报错。再细分测试,只能修改到 0.78 。0.79就报错。这是什么问题?按逻辑,可以最小到 0%,最大到100%。PS:好像找到原因了,arr不是取第2列的,而是动态每一列的。需要取第2列的做总量,因为后面列因为统计范围限制,加总的值会小于第2列的总量值。若我猜的对,请给修改下。谢谢。

TA的精华主题

TA的得分主题

发表于 2023-1-13 09:32 | 显示全部楼层
天地一相 发表于 2023-1-13 08:52
谢谢,是这样的。测试发现一个现象:乘 0.6 这里,可以向下修改到 0.1 没问题,但向上修改成 0.8 就不行 ...

开始加一句:On Error Resume Next
因为.offset(i)超出一定表的范围。这样判断的话语句太长,反正超出范围的值不存在
image.jpg

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-13 12:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
shiruiqiang 发表于 2023-1-13 09:32
开始加一句:On Error Resume Next
因为.offset(i)超出一定表的范围。这样判断的话语句太长,反正超出范 ...

谢谢,汇报下。原想把乘以系数前面的内容换成指定的B列的总量值,可能就正常了。测试发现不行,还是得加上你说的这一句,就尝试加在数据定义下面了。测试就对了。
上色.PNG
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 20:33 , Processed in 0.039190 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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