ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] Excel如何用VBA实现单元格内遇到1、2、3、4、这样的就自动换行?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-2-2 20:46 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 vistababy 于 2024-2-5 19:18 编辑

Excel如何用VBA实现单元格内遇到1、2、3、4、这样的自动换行?

比如下面这个图。我运行一下代码,就变成图2的样子了,不用我在里面一个一个地Alt+回车键手动换行。。
谢谢!
aa (1).jpg

aa (2).jpg



后续:
尤其感谢6楼的代码!让我认识了正则式
我经过不断地优化(附件及代码在32楼),目前已经可以对以下情况进行自动换行处理:
①1、2、3、4、5……
②1,2,3,4,5,……
③(1)(2)(3)(4)(5)……
④【1】【2】【3】【4】【5】……
⑤<1><2><3><4><5>……
⑥<1><2><3><4><5>……
⑦[1][2][3][4][5]……
上面的③至⑦后面如带有,、也能处理。
①至⑦如果出现1、2、3、4、5号楼这样连续的,不会进行换行处理。
⑧对1.2.3.4.5这种小数点进行换行处理,连续的不换行,如果是2.5×4.0=10.0这样的计算式也不会换行。

⑨顺便对一、二、三、这类进行了处理。

效果如下:
aa (3).jpg




---------








TA的精华主题

TA的得分主题

发表于 2024-2-2 20:56 | 显示全部楼层
没附件,猜测可以把chr(10)替换掉

TA的精华主题

TA的得分主题

发表于 2024-2-2 20:59 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
正则替换?遍历字符?

TA的精华主题

TA的得分主题

发表于 2024-2-2 21:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请上传附件。。。

TA的精华主题

TA的得分主题

发表于 2024-2-2 23:42 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-2-3 09:32 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-3 10:24 | 显示全部楼层

这思路我想过,不会写vba,感谢大佬

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-3 10:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
gwjkkkkk 发表于 2024-2-3 09:32
正则法,供参考。。。

正则法好厉害哦。。感谢大佬

TA的精华主题

TA的得分主题

发表于 2024-2-3 10:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
vistababy 发表于 2024-2-3 10:25
正则法好厉害哦。。感谢大佬

再厉害 你不会写等于0

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-3 13:35 | 显示全部楼层
本帖最后由 vistababy 于 2024-2-4 21:08 编辑

先感谢6楼的代码。。
虽然不懂正则式,但这正则式怎么看起来感觉有些像通配符??随便学习了一下,等于看一点学一点,还是继续按照6楼的代码修改,别的楼代码看起来好复杂,继续弄我的正则式试试。代码每段都类似。
序号已经可以无限量了,原来只支持11以下,顺便支持了一下中文(比如一、二、三、这种)。
数字后或两边符号已经支持  , 、()【】 <>  <>  [ ],对于“3、5、6、7号楼” “(1)(2)(3)(4)楼”这种也能处理,不会换行,也能支持数字后小数点换行了,且不影响带小数点的数字。
具体功能可以看1楼,现在的代码修改得基本上差不多了,2.6号中午1点半就不能再改此回复了。。


效果如下:


代码超长了,具体请看30楼。





补充内容 (2024-2-6 19:32):
32楼
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-5 12:24 , Processed in 0.049175 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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