Excel 我想根据年龄自动删除某些行

Excel 我想根据年龄自动删除某些行,excel,spreadsheet,Excel,Spreadsheet,我正在创建一个电子表格,希望在某个年龄段自动删除行。有办法做到这一点吗? 我的公司向我们的纽约办公室提交工程申请,我还创建了一个工作跟踪系统来监控从提交到接收计划的时间。我的老板希望我能想出如何让数据行在一段时间后消失。我已经得到了所有的计算日数的公式,并随着新工作的增加而自动更新,但我不知道如何进行这项任务。 谢谢你的任何意见 类似下面的代码应该可以做到这一点。在本例中,我从第二行开始,检查F列中的日期,看看是否大于定义的间隔天数(此处为21天),您可以根据需要更改这些变量的初始化: Sub

我正在创建一个电子表格,希望在某个年龄段自动删除行。有办法做到这一点吗? 我的公司向我们的纽约办公室提交工程申请,我还创建了一个工作跟踪系统来监控从提交到接收计划的时间。我的老板希望我能想出如何让数据行在一段时间后消失。我已经得到了所有的计算日数的公式,并随着新工作的增加而自动更新,但我不知道如何进行这项任务。
谢谢你的任何意见

类似下面的代码应该可以做到这一点。在本例中,我从第二行开始,检查F列中的日期,看看是否大于定义的间隔天数(此处为21天),您可以根据需要更改这些变量的初始化:

Sub delete_old()

    Dim rowDate
    Dim curDate
    Dim interval
    Dim curAdd
    Dim vCell As Range

    ' set interval to an appropriate no of days
    interval = 21 ' can be more precise e.g. for 5 mins: (1 / 24) / 12
    curDate = Now()

    ' assuming we want to start from row 2 and that date is in column F
    Set vCell = Range("F2")

    ' Set Do loop to stop when an empty cell is reached.
    Do Until IsEmpty(vCell)
        curAdd = vCell.Address
        If curDate - vCell.Value >= interval Then
            vCell.EntireRow.Delete
            Set vCell = Range(curAdd)
        Else
            Set vCell = Range(curAdd).Offset(1, 0) ' next row
        End If
    Loop

    Set vCell = Nothing

End Sub
您需要在保存或打开工作簿等事件发生时自动调用此函数。让我知道,如果你需要帮助设置这个或任何澄清上述代码