【发布时间】:2018-02-09 22:50:53
【问题描述】:
我正在尝试删除 A 列值(其格式为日期)小于今天日期的所有行。我必须通过整个非空 A 列运行这些。但面临代码在整个行中循环运行的问题。每次它只删除 1 行。请让我知道如何在整个行集中运行它。
Sub DeleteRowBasedOnDateRange()
Dim spem As Workbook
Dim ws As Worksheet
Dim N As Long, I As Long
Set spem = Excel.Workbooks("SwitchP.xlsm")
Set ws = spem.Worksheets("data")
N = ws.Cells(Rows.count, "A").End(xlUp).row
For I = 2 To N
If Cells(I, "A").Value < Date Then
Cells(I, "A").EntireRow.Delete
I = I + 1
End If
Next I
End Sub
【问题讨论】: