日期是2023/7/3 這種格式的
时间: 2023-12-12 07:04:15 浏览: 35
谢谢您提供的日期格式。请将代码中的以下行:
```vba
checkDate = ws.Cells(i, "A").Value
```
更改为:
```vba
checkDate = DateValue(ws.Cells(i, "A").Value)
```
这将确保将单元格中的文本转换为日期值进行比较。然后,您可以使用以下代码来删除超过5天的行:
```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 = DateValue(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"更改为您要操作的工作表名称,并在运行代码之前保存工作簿。这段代码将删除超过5天的行。