用EXCEL代码来整理报表

我正在使用Excel 2007.我已经构build了一个用户窗体,它将数据写入工作簿中的多个工作表。 在工作表名称中Reports我想创build一个命令buttonCmdtomorrows删除报告表中除了以date (Now() + 1, "DD/MM/YYYY")开头的行之外的所有行。

datelogging在Column A

例如:tomorowsdate是2011年11月21日,所以我想要命令button删除从19日和10/11/2011开始的行的条目。 我没有试图为此logging一个macros。 macros一般给我一个button的VBA代码的开始。 在之前的问题中,我已经能够发布我的代码,并得到了帮助,但不知道从哪里开始。

我无法显示任何示例表。

此代码可以附加到您的命令button。 如果列A中的值不是明天的date,则循环遍历“Reports”表中的所有“used”行并删除整行。 请注意使用Fix函数截断任何时间组件。 如果要保留date为明天或更晚date的行,请将<>比较改为<。

还要注意,这段代码假定列A中的值都是date。

 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