整理报告表的EXCEL代码

整理报告表的EXCEL代码,excel,vba,Excel,Vba,我正在使用Excel2007。我构建了一个userform,它将数据写入工作簿中的多个工作表。在工作表名称Reports中,我想创建一个命令按钮Cmdtomorrows来删除报告工作表上的所有行,除了以tomorrows日期开始的行(Now()+1,“DD/MM/yyyyy”) 日期记录在列A中: 示例:Tomorrows日期是2011年11月21日,因此我希望命令按钮删除日期为19日和2011年11月10日的行的条目。我已尝试为此录制宏,但未成功。宏通常让我以按钮的VBA代码为起点。在前面的问

我正在使用Excel2007。我构建了一个userform,它将数据写入工作簿中的多个工作表。在工作表名称
Reports
中,我想创建一个命令按钮
Cmdtomorrows
来删除报告工作表上的所有行,除了以tomorrows日期开始的行
(Now()+1,“DD/MM/yyyyy”)

日期记录在
列A中

示例:Tomorrows日期是2011年11月21日,因此我希望命令按钮删除日期为19日和2011年11月10日的行的条目。我已尝试为此录制宏,但未成功。宏通常让我以按钮的VBA代码为起点。在前面的问题中,我已经能够发布我的代码并获得帮助,但不确定从何处开始


我无法显示任何示例表。

此代码可以附加到您的命令按钮。如果A列中的值不是明天的日期,它将遍历“报表”工作表上所有“已使用”行,并删除整行。注意使用Fix函数截断任何时间分量。如果要保留日期为明天或更晚日期的行,请将比较更改为“仅”
Sub DeleteAllButTomorrows()
    Dim lRow As Long

    With Worksheets("Reports")
        lRow = 2    ' first row after header row
        Do While lRow <= .UsedRange.Rows.Count
            If Fix(.Cells(lRow, 1).Value) <> Date + 1 Then
                .Rows(lRow).Delete
            Else
                lRow = lRow + 1
            End If
        Loop
    End With
End Sub