vba - 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
解决方案
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
推荐阅读
- java - JPA:从另一个表中加入特定列
- php - 为 foreach() 提供的参数无效
- angular - Angular - 对多个 HTTP 请求进行排序
- react-native - 小吃栏中的 onDismiss 功能在 react-native-paper 中不起作用
- javascript - 在 mapStateToProps 之前初始化状态?
- merge - Puppet - 深度合并查找 default_value 并返回 hiera 哈希
- flask - 更改airflow.cfg 后导入身份验证后端失败
- java - After downloading a java file it would not open
- ansible - Ansible systemctl --user 另一个用户
- excel - 如何重新创建工作表并保持参考有效?