换行单元格转真实行.bas

上传者: 50566833 | 上传时间: 2021-07-07 12:03:15 | 文件大小: 1KB | 文件类型: BAS
'调用过程 Sub 使用() Dim 行, 列 '下面程序是 转换 第2行第5列到第2行第800列 '由于行一直在增加,所以实际并不会转换到原数据的800列 行 = 2 列 = 5 For 行 = 2 To 800 Step 1 Call 换行单元格转真实行(Cells(行, 列)) Next End Sub '过程 Sub 换行单元格转真实行(rng As Range) 'Dim rng As Range '处理的单元格 Dim str As String '消掉处理的单元格中所有换行符的文本 Dim i '处理的换行符个数 = 原单元格字符个数 - 处理后单元格字符个数 ( i 结果是多少 这个单元格就有 i+1 行) Dim 行数 '处理单元格里面有多少行 Dim rngcol rngcol = rng.Column '处理单元格在第几列 Dim rngstr As String rngstr = rng.Value '处理单元格的内容 str = Application.WorksheetFunction.Substitute(rngstr, "" & Chr(10) & "", "") i = VBA.Len(rng) - VBA.Len(str) '得到 单元格 里面 一共多少个 换行符 从而得到行数为i+1 If i > 0 Then '如果有换行符的话 行数 = i + 1 '得到行数 For i = 行数 To 2 Step -1 '有多少行循环多少次 Rows(rng.Row + 1).Insert '先在 处理的单元格下面插入一行 Cells(rng.Row + 1, rngcol) = Split(rngstr, "" & Chr(10) & "")(i - 1) '然后把最后一行内容给写进去,倒数第二行内容写进去…………第二行写进去 Next Cells(rng.Row, rngcol) = Split(rngstr, "" & Chr(10) & "")(0) '然后把第一行内容写到原位置 End If 'Split(字符串, 分隔符)(第几个) End Sub

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明