在列中查找具有特定值的第一个单元格,然后在上方插入3行

时间:2015-04-09 15:29:00

标签: excel vba insert row

我每天早上都在处理电子表格,需要在VBA宏中自动执行以下操作:

在AE列中,查找大于零的第一个值,然后在包含该特定单元格的行上方插入3行。

1 个答案:

答案 0 :(得分:1)

这样的事情对你有用:

Sub tgr()

    Dim ws As Worksheet
    Dim lRow As Long

    Set ws = ActiveSheet    'Adjust to be the correct worksheet if necessary

    With Intersect(ws.UsedRange, ws.Columns("AE"))
        On Error Resume Next
        lRow = Evaluate("=MATCH(1,INDEX((ISNUMBER(" & .Address(External:=True) & "))*(" & .Address(External:=True) & ">0),),0)")
        On Error GoTo 0
    End With

    If lRow > 0 Then
        ws.Rows(lRow).Resize(3).Insert
    Else
        MsgBox "No values in column AE found to be greater than 0."
    End If

End Sub