【发布时间】:2013-05-13 01:13:50
【问题描述】:
下面的 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
【问题讨论】:
-
在什么上方插入复制的行?无论如何,是的,这是可以做到的,而且应该相当容易。您是否尝试过在手动执行复制/插入时使用宏记录器?这将生成一些您可以用来修改此宏的代码。