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