manbet网

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 231|回复: 5
打印 上一主题 下一主题

指定单元格强制换行问题

[复制链接]
跳转到指定楼层
1楼
发表于 2020-12-18 20:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
哪位大神帮忙解决一下这个指定单元格强制换行问题呀,谢谢了!

强制换行.zip

6.6 KB, 下载次数: 5

分享到:  QQ好友和群QQ好友和群
收藏收藏
2楼
 楼主| 发表于 2020-12-18 21:57 | 只看该作者
求助大神啊!
3楼
 楼主| 发表于 2020-12-19 10:17 | 只看该作者
4楼
发表于 2020-12-19 13:27 | 只看该作者
Function LF(str)
    Dim i, j
    str = VBA.Replace(str, Chr(10), "")

    For i = Len(str) To 1 Step -1
        If Asc(Mid(str, i, 1)) = -24158 Then
            j = i    '顿号位置
            Do
                i = i - 1
            Loop While IsNumeric(Mid(str, i, 1))
            If j <> i + 1 Then str = Left(str, i) & Chr(10) & Mid(str, i + 1)    '排除不换行的顿号
        End If
    Next
    LF = str
End Function



放在模块里。
设置B3,开始 - 对齐方式 - 自动换行
然后B3输入,"=lf(a2)"

5楼
查看详细资料  楼主| 发表于 2020-12-19 13:57 | 只看该作者
我是菜鸟,还是没明白啊!
6楼
发表于 2020-12-20 10:04 | 只看该作者


强制换行2.rar (12.58 KB, 下载次数: 1)
因为含代码,所以文件格式需改。




'说明:以 数字+顿号 进行换行
Function LF(rng As Range)
    Dim i, j, res
    rng.WrapText = True
    res = rng.Value
    res = Replace(res, Chr(10), "")
    For i = Len(res) To 1 Step -1
        If Asc(Mid(res, i, 1)) = -24158 Then
            j = i    '找到一个顿号
            Do
                i = i - 1
            Loop While IsNumeric(Mid(res, i, 1))
            If j <> i + 1 Then res = Left(res, i) & Chr(10) & Mid(res, i + 1)    '只留处理需换行的顿号
        End If
    Next
    LF = res
End Function







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

本版积分规则

小黑屋|手机版|Archiver|manbet ( )

GMT+8, 2021-2-21 08:56 , Processed in 0.140400 second(s), 9 queries , Gzip On, Redis On.

Powered by X3.4

Copyright © 2001-2020, Tencent Cloud.

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