从某个单元格删除Excel VBA中的整个行

我试图删除整个数据行,如果date比今天晚一个多星期,但我不想删除标题。 今天的date是出现在A2中的一个variables。

编辑:列A的date格式为dd / mm / yyyy。

这段代码就是我目前所拥有的代码,但是它不起作用并删除标题:

Sub deletedates() Dim firstDate As Date, secondDate As Date Dim i As Range firstDate = DateValue(Range("A2")) secondDate = DateAdd("d", 6, firstDate) MsgBox secondDate For Each i In Range("A:A") If i.Value > secondDate Then i.Select ActiveCell.EntireRow.Delete End If Next i End Sub 

我添加了一些可以解决两个问题的方法:

1)lngCounter = Cells.Find(“*”,[A1],,,xlByRows,xlPrevious).rowfind最后一行数据,因为您的原始代码将查看列A中的每个单元格,如果您使用较新版本的Excel,则为百万。

2)我已经开始在列A的第2行search数据,以避免删除标题行。

希望这可以帮助!

 Sub deletedates() Dim firstDate As Date, secondDate As Date Dim i As range Dim lngCounter As Long Dim strRange As String lngCounter = Cells.Find("*", [A1], , , xlByRows, xlPrevious).row 'Find last row of data strRange = "a2:a" & lngCounter 'Start at Row 2, Column A, finish at last row of Column A firstDate = DateValue(range("A2")) secondDate = DateAdd("d", 6, firstDate) 'MsgBox secondDate For Each i In range(strRange) 'Starts at second row of data. If i.Value > secondDate Then i.Select ActiveCell.EntireRow.Delete End If Next i End Sub