0

我有一个数据列表,需要根据两个标准删除一些行。第一个标准是第 5 列中必须有一个零。第二个标准是字段 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

我已经在谷歌上搜索了一段时间并且没有任何进展,所以任何帮助将不胜感激。

4

1 回答 1

0

VBA 需要由#MM/DD/YYYY# 定义的日期。不一定是那种格式,但肯定是在日期前后加#号。您是否尝试过将它们添加到您的配方中?

可能:

AutoFilter Field:=3, Criteria1:=">#" & PYE & "#"
于 2013-06-18T16:15:42.337 回答