基于大于用户输入变量的日期删除行的VBA代码



我有一个数据列表,需要根据两个标准删除其中的一些行。第一个标准是第五列必须是0。第二个标准是字段3中的日期需要大于之前在表单上收集的用户输入变量。如果满足这两个条件,则应该删除该行。如果我注释掉第二个条件,匹配第一个条件的行就会被正确删除,这样我就知道它与日期有关。我还确保用户输入的变量和电子表格上的日期格式相同。下面是代码

Dim PYE As Date
Dim vQuestion
vQuestion = Application.InputBox(Prompt:="What is the plan year end date?")
If IsDate(vQuestion) Then
PYE = DateValue(vQuestion)
Else
MsgBox "Invalid date"
End If
If vQuestion = "False" Then Exit Sub

 With ActiveSheet.UsedRange
  .AutoFilter Field:=5, Criteria1:="0", Operator:=xlAnd
   .AutoFilter Field:=3, Criteria1:=">" & PYE
    .Offset(1, 0).EntireRow.Delete
    .AutoFilter
End With

我已经在谷歌上搜索了一段时间,没有任何进展,所以任何帮助都会很感激。

VBA需要用#MM/DD/YYYY#定义日期。不一定是那种格式,但一定要在日期前后加上#符号。你试过把这些放进你的配方里吗?

可能

:

AutoFilter Field:=3, Criteria1:=">#" & PYE & "#"

最新更新