根据单元格值excel宏在下面插入行

时间:2014-06-30 11:43:57

标签: excel excel-vba vba

嗨,我是一个完全新手,但渴望学习。我在Insert copied row based on cell value的论坛中找到了一个宏。下面的宏在任何行上方插入一个空白行,其值为" 0"在E栏中,它几乎帮助了我。而不是在行上方出现空行我需要它出现在下面。可以有人帮助我吗?  宏代码是:

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

2 个答案:

答案 0 :(得分:3)

编辑以下行:

.Cells(R,Col).EntireRow.Insert Shift:= xlDown

为:

.Cells(R + 1,Col).EntireRow.Insert Shift:= xlDown

答案 1 :(得分:1)

与你有关的问题,修改原始代码中的一行:而不是:

.Cells(R, Col).EntireRow.Insert Shift:=xlDown

使用这个:

.Cells(R, Col).EntireRow.Insert Shift:=xlUp

RGDS,