2013-05-13 63 views
1

下面的vba代码(从here修改)将在E列中具有值“0”的任何行上插入一个空行。不插入空行,是否有方法将行复制为“0”并将其插入到自身之上?可以修改此vba代码来执行此操作吗?根据单元格值插入复制的行

Sub BlankLine() 

    Dim Col As Variant 
    Dim BlankRows As Long 
    Dim LastRow As Long 
    Dim R As Long 
    Dim StartRow As Long 

     Col = "E" 
     StartRow = 1 
     BlankRows = 1 

      LastRow = Cells(Rows.Count, Col).End(xlUp).Row 

      Application.ScreenUpdating = False 

      With ActiveSheet 
For R = LastRow To StartRow + 1 Step -1 
If .Cells(R, Col) = "0" Then 
.Cells(R, Col).EntireRow.Insert Shift:=xlDown 
End If 
Next R 
End With 
Application.ScreenUpdating = True 

End Sub 
+0

插入上述*什么复制的行*?无论如何,是的,这可以完成,而且应该相当容易。您是否尝试过在手动执行复制/插入时使用宏录制器?这将生成一些代码,您可能可以使用它来修改此宏。 – 2013-05-13 02:03:22

回答

2

只需添加这行

.Cells(R, Col).EntireRow.Copy 

.Insert前行

相关问题