weixin_55020834 2021-07-08 13:39 采纳率: 44.4%
浏览 105
已采纳

excel如何让文字满一定字数就自动换到下个单元格并且不会覆盖或者上面符合vba就用不了?

在之前https://ask.csdn.net/questions/7466946?expend=true的提问中,我已经知道怎么让文字满一定字数就自动换到下个单元格,但是该vba使用时,如果下方也有文字,就会覆盖下方的文字,而不是下方的文字也会分段到下一格,并且如果上方的是15个字,那么下方那很多的字就不会再分,
所以我想问下,如何在能够2段长文字在上下相邻的2个单元格的时候,以及上方为15个字的时候,也能够让文字满一定字数就自动换到下个单元格?最好列宽为32,字数为15为例。顺便想问下,之前的语句中,如何让多个或者所有列都能换单元格?

  • 写回答

3条回答 默认 最新

  • soar3033 2021-07-08 14:16
    关注

    运行前:
    img

    运行后:
    img

    代码:

    
     
     Sub aa()
        n = 2 '第几列
        r = Range("A65536").End(xlUp).Row
        i = 1
        Do While i <= r
            l = Len(Cells(i, n).Value)
            If l > 15 Then
                k = i & ":" & i
                Range(k).Select
                Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
                Cells(i, n).Value = Left(Cells(i + 1, n).Value, 15)
                Cells(i + 1, n).Value = Right(Cells(i + 1, n).Value, l - 15)
                r = r + 1
            End If
            i = i + 1
        Loop
    End Sub
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 7月10日