VBA函数 - 参数不可选(分隔文本块)

时间:2017-06-01 17:22:13

标签: vba excel-vba excel

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列中。这将帮助我分离数据块。我一直在"编译错误:参数不是可选的"。是什么给了什么?

1 个答案:

答案 0 :(得分:2)

正如Scott Craner所指出的那样,你错过了IfNext的结束语。

此外,在插入或删除行时,您需要在行集中向后循环。

见下面的代码:

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