我需要一些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
我得到了上面的代码
答案 0 :(得分:-1)
Dim LastRow as Integer
Dim row as Integer
LastRow = ActiveSheet.UsedRange.Rows.Count
For row = 2 To LastRow
If Cells(row, 16).Value < Date - 59 OR Cells(row, 16).Value > Year(Cells(row, 16)) + 4 Then
Rows(row).Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
End If
Next row
我或多或少地躺着,并稍微调整一下。如果这对您有用,请告诉我。