【问题标题】:Insert copied row based on cell value根据单元格值插入复制的行
【发布时间】: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

【问题讨论】:

  • 什么上方插入复制的行?无论如何,是的,这是可以做到的,而且应该相当容易。您是否尝试过在手动执行复制/插入时使用宏记录器?这将生成一些您可以用来修改此宏的代码。

标签: excel insert copy vba


【解决方案1】:

只需添加这一行

.Cells(R, Col).EntireRow.Copy

在您的.Insert 行之前

【讨论】:

    猜你喜欢
    • 2015-09-24
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 2019-08-07
    • 1970-01-01
    相关资源
    最近更新 更多