整理报告表的EXCEL代码
我正在使用Excel2007。我构建了一个userform,它将数据写入工作簿中的多个工作表。在工作表名称整理报告表的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代码为起点。在前面的问
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