EXCEL vba 不能执行命令

附原码:Subtext()DimrngAsRange,b%b=Sheet1.UsedRange.Rows.CountMsgBoxbForEachrngInRange("a... 附原码:

Sub text()
Dim rng As Range, b%
b = Sheet1.UsedRange.Rows.Count
MsgBox b
For Each rng In Range("a1:a" & b)
If rng Like "*标题行*" Then
Rows(rng.Row).Insert
Rows(rng.Row + 1).Insert
End If
Next
End Sub
目的是在在A列含有“标题行”字符的行 上下各插入一个空行,可运行的时间鼠标就一直打转转,命令执行没有效果,请高手指点迷津
展开
 我来答
鱼木混猪哟
高粉答主

2015-12-09 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33700

向TA提问 私信TA
展开全部
你想想啊,如果第2行A列中的单元格含有“标题行",那么就选中第2行,插入新的一行,这样原来的第2行就变成了第3行,而Rng下一个不就是这第3行A列么?于是重复上述步骤,就这样无限循环下去了。
浑语诗f
2015-12-09 · TA获得超过145个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:131万
展开全部
Sub text()
Dim rng As Range, b%
b = Sheet1.UsedRange.Rows.Count
'MsgBox b

For i = 1 To 65535 Step 1 'Range("a1:a65535")
If Range("A" & i) Like "*标题行*" Then
b = b - 1
Rows(Range("A" & i).Row).Insert
Rows(Range("A" & i).Row + 2).Insert
i = i + 2
End If
If b = 0 Then Exit For
Next

End Sub

你的加行数不对,还有A列全局使用量b用错的。完全是不同的概念
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友61f144c3
2015-12-09 · TA获得超过4145个赞
知道小有建树答主
回答量:1224
采纳率:71%
帮助的人:385万
展开全部
Sub text()
Dim rng As Range, b%
b = Sheet1.UsedRange.Rows.Count
inserRows = 0
For iRow = 1 To b
If Cells(iRow + inserRows, 1) Like "*标题行*" Then
Rows(iRow + inserRows + 1).Insert
Rows(iRow + inserRows).Insert
inserRows = inserRows + 2
End If
Next
End Sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式