小编Emb*_*bie的帖子

为什么我的 IsDate() If 语句忽略“31/12/1019”

我试图删除特定时间段之前的所有日期,以及数据集中不是日期的任何内容。A 列中大约有 4000 个条目,可追溯到过去 10 年,其中混杂着一些拼写错误。数据之间没有空白点。

我拼凑了下面的代码,几乎可以工作。然而,有一个条目31/12/1019没有被认为是旧日期或拼写错误。

Sub deleterows()
    lastRow = Sheets("ConData").Cells(Rows.Count, 1).End(xlUp).Row
    bankingDate = DateSerial(Year(Date), Month(Date), 0)

    For i = lastRow To 1 Step -1
        If IsDate(Cells(i, 1)) = False Or _
           Cells(i, 1).Value <= bankingDate Then Rows(i).EntireRow.Delete
    Next
End Sub
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

excel vba

1
推荐指数
1
解决办法
73
查看次数

标签 统计

excel ×1

vba ×1