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

我每天早上在电子表格上工作,需要在VBAmacros中自动执行以下操作:

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

像这样的东西应该为你工作:

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