嗨,我是一个完全新手,但渴望学习。我在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
答案 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,