汉字与字符混合单元格折行的问题

来源:互联网 发布:詹姆斯热火时期数据 编辑:程序博客网 时间:2024/05/01 09:16

问题:

我想判断一个单元格中字符(按英文字符计,1个汉字等于2个英文字符)的长度,如果该单元格的字符数超过10个,则剩下的写到下一行。

如一个单元格内容为“生五个孩子太多了”,全是汉字很好办,本单元格写“生五个孩子”,下一行写“太多了”就行。

如果是“生5个孩子太多了”,怎样用程序在本单元格写“生5个孩子”,下一行写“太多了”呢?

答案:

Sub zhehang()
Dim iRow, rng, i, k, j, l, m
iRow = Range("a65536").End(xlUp).Row
For i = 1 To iRow
    Set rng = Cells(i, 1)
    k = Len(rng.Value)
    Cells(1, 255).Formula = "=lenb(" & rng.Address & ")"
    l = Cells(1, 255).Value
    If l > 10 Then
        For j = 5 To k
            Cells(1, 255).Formula = "=lenb(Left(" & rng.Address & "," & j + 1 & "))"
            m = Cells(1, 255).Value
            If m > 10 Then
                rng.Formula = Left(rng.Value, j) & Chr(10) & Right(rng.Value, k - j)
                Exit For
            End If
        Next j
    End If
Next i
Cells(1, 255).ClearContents

End Sub 

原创粉丝点击