删除日期早于指定月份

时间:2016-05-06 09:52:49

标签: excel vba

使用Excel VBA,如何删除日期介于今天和消息框中的日期之间的行。

到目前为止,我所做的只是为了从指定的日期和年份获得该月的第一个日期,但我要做的是以下内容:

删除列P中的日期早于指定月份的所有行。即 如果用户选择四月,则删除列P中的日期早于四月的所有内容。

P列以日期/时间格式存储日期dd / mm / yyyy hh:mm:ss

Sub Popup()
    Dim Month
    Dim MonthDate
    Dim Year

    Month = Application.InputBox("Enter the number for the month, i.e 5 for May, 11 for November")
    Year = Application.InputBox("Enter full year, i.e. 2016")
    MonthDate = DateSerial(Year, Month, 1)

   With Sheets("Tickets")
    .AutoFilterMode = False
        With Range("p1", Range("p" & Rows.Count).End(xlUp))
        .AutoFilter 1, "<" & MonthDate
        On Error Resume Next
        .Offset(1).SpecialCells(12).EntireRow.Delete
        End With
    .AutoFilterMode = False
    End With
End Sub

我已经尝试过上述代码,但它会删除2016年之前的所有内容,而不是说2016年4月(指定时间)

0 个答案:

没有答案