首页 > 解决方案 > For Next 循环将多余的文本移动到新添加的行

问题描述

我正在尝试将 40 个字符后的文本移动到 Excel 中添加的下一行,但下面的代码跳过了 for 循环。当使用 F8 键时,它会从“For i = 1 to i = 50”跳转到“End Sub”。

Sub TextLimit()

Dim i As Long

For i = 1 To i = 50


 If Len(Cells(i, 1)) > 40 Then

 Rows(i + 1).Insert

 Cells(i + 1, 1) = Mid(Cells(i, 1), 41, Len(Cells(i, 1)) - 40)

 Else


End If


Next i


End Sub

标签: vba

解决方案


iend当条件满足时,我添加了结束循环变量和变量增量

Sub TextLimit()

Dim i As Long, iend as long
iend = 50
For i = 1 To iend 


 If Len(Cells(i, 1)) > 40 Then

 Rows(i + 1).Insert

 Cells(i + 1, 1) = Mid(Cells(i, 1), 41, Len(Cells(i, 1)) - 40)
 iend =iend +1
 Else


 End If


Next i


End Sub

推荐阅读