VBA判斷A列中日期如果距離現在的日期網前面5天以上的,就刪除整行
时间: 2024-04-08 20:33:59 浏览: 144
您可以使用VBA编写以下代码来实现您的要求:
```vba
Sub DeleteRows()
Dim ws As Worksheet
Dim lastRow As Long
Dim currentDate As Date
Dim checkDate As Date
Dim rng As Range
Dim i As Long
' 设置工作表
Set ws = ThisWorkbook.Worksheets("Sheet1") '将"Sheet1"替换为您要操作的工作表名称
' 获取最后一行
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' 获取当前日期
currentDate = Date
' 循环检查每一行的日期
For i = lastRow To 1 Step -1
checkDate = ws.Cells(i, "A").Value
' 判断日期是否超过5天
If currentDate - checkDate >= 5 Then
' 删除整行数据
If rng Is Nothing Then
Set rng = ws.Rows(i)
Else
Set rng = Union(rng, ws.Rows(i))
End If
End If
Next i
' 删除选定的行
If Not rng Is Nothing Then rng.Delete
End Sub
```
请注意,您需要将代码中的"Sheet1"替换为您要操作的工作表名称。在运行代码之前,请确保保存工作簿。此代码将会删除符合条件的整行数据。
阅读全文