Sub Macro6()
Dim rngW As Range
Dim cell As Range
Set rngW = Range("W1", Range("W65536").End(xlUp))
For Each cell In rngW
If cell.Value = "Y" Then
Rows.Select
Range.Activate
Selection.Insert Shift:=xlDown
End Sub
我想在每个" Y"之上添加一个空行。在我的整个Excel工作表中找到的W列中。这将帮助我分离数据块。我一直在"编译错误:参数不是可选的"。是什么给了什么?
答案 0 :(得分:2)
正如Scott Craner所指出的那样,你错过了If
和Next
的结束语。
此外,在插入或删除行时,您需要在行集中向后循环。
见下面的代码:
Sub Macro6()
Dim lRow as Long
lRow = Range("W" & Rows.Count).End(xlUp).Row
Dim i as Long
For i = lRow to 1 Step -1
if Range("W" & i).Value = "Y" Then Range("W" & i).EntireRow.Insert Shift:=xlDown
Next
End Sub