ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

求教一个弹出框可同时输入多个点选区域范围实现方法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-7-23 16:34 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 zxgbang 于 2023-7-25 19:46 编辑

一个弹出框可同时分多个选区输入多个区域范围,请教,这个咋实现的


找到了原文件,上传上来,供大家研究(文件5M,分3个压缩文档,文件是加载项,)

多个范围.png

XRealStats.part1.rar

2 MB, 下载次数: 1

XRealStats.part2.rar

2 MB, 下载次数: 1

XRealStats.part3.rar

1.18 MB, 下载次数: 1

TA的精华主题

TA的得分主题

发表于 2023-7-23 18:11 | 显示全部楼层
供参考。

带按钮的文本框.rar

13.29 KB, 下载次数: 17

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-7-24 06:07 | 显示全部楼层
Range.Address属性,存在“255字符限制”的Bug。具体来说,当Range是多个不连续区域组成时,如果它的实际地址的长度超过255个字符,其Address属性,只能返回其255个字符以内的那些区域的地址。

同样地,Range(address)方法,同样存在“255字符限制”的Bug。当参数address的字符串长度超过255个字符时,其返回的Range对象,实际只包含前255个字符以内所表示的区域。

因此,使用窗体中的按钮,交互式获取单元格区域的地址时,为解决上述Bug,最好是让窗体显示为无模状态,这样可以预选目标区域(手工选取或代码选取都可以),然后使用Window.RangeSelection属性来返回目标区域,再编写一个函数,遍历目标单元格区域中的每一个Area,连接其每一个Area地址,以此返回其真实的Address,显示到文本框内;
而需要由文本框内的字符串表示的Address返回对应的Range对象时,也宜另外编写函数,把Address分解成多个255个字符以内的地址,这样就可以用内置的Range(address)返回多个Range对象,再以Application.Union方法,把这多个Range对象,合并为一个Range对象。

详见附件中UserForm2的代码示例。 带按钮的文本框.rar (20.51 KB, 下载次数: 10)

TA的精华主题

TA的得分主题

发表于 2023-7-24 07:11 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-25 19:42 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-25 19:42 | 显示全部楼层
ggmmlol 发表于 2023-7-24 06:07
Range.Address属性,存在“255字符限制”的Bug。具体来说,当Range是多个不连续区域组成时,如果它的实际地 ...

感谢您的补充,思路很赞
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 07:38 , Processed in 0.036670 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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