【发布时间】:2015-07-23 13:05:18
【问题描述】:
我需要一些 VBA Excel 代码的帮助来格式化电子表格。
我必须运行一个报告,给我一个 Excel 电子表格,其中 P 列中有发票日期。如果 P 列中单元格中的发票日期小于或等于 60 天,我需要删除整行今天的日期,并删除 P 列中发票日期距今天日期 4 年或更长时间的任何行。
我通常必须在每次运行报表时手动执行此操作,因此我想使用一些 VBA 代码自动执行此过程。谁能帮我解决这个问题。
Dim x As Long
For x = [a1].SpecialCells(xlCellTypeLastCell).row To 1 Step -1
Debug.Print Cells(x, "P").Value
If CDate(Cells(x, "P")) > Date - 60 Then
Cells(x, "P").EntireRow.Delete
Else
Exit Sub
End If
Next x
我得到了上面的代码
【问题讨论】:
-
你以前用过VBA吗?您是否尝试过在这里使用 VBA?请向我们展示您的尝试。在此处查看有关您问题的介绍性帮助:stackoverflow.com/questions/7648655/…
-
这是一个关于“If”语句的页面的链接,一个用于删除行,一个用于循环。您应该只需要这三样东西来组合一个可以满足您需求的基本程序。 [1]:techonthenet.com/excel/formulas/if_then.php [2]:stackoverflow.com/questions/7851859/delete-a-row-in-excel-vba [3]:msdn.microsoft.com/en-us/library/eked04a7.aspx