如何修改此VBA脚本以仅提取指定日期范围内的行?

如何修改此VBA脚本以仅提取指定日期范围内的行?,vba,excel,Vba,Excel,我有以下VBA脚本,我想根据第3列-StartDate进行筛选: Sub RemDates() Dim RowToTest As Long Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets For RowToTest = ws.Cells(Rows.Count, 3).End(xlUp).Row To 1 Step -1 With ws.Cells(RowToTest, 3) If .Value >

我有以下VBA脚本,我想根据第3列-StartDate进行筛选:

Sub RemDates()
Dim RowToTest As Long
Dim ws As Worksheet

For Each ws In ThisWorkbook.Sheets
  For RowToTest = ws.Cells(Rows.Count, 3).End(xlUp).Row To 1 Step -1  
    With ws.Cells(RowToTest, 3)
      If .Value > #12/24/2016# _
        And .Value < #12/29/2016# Then _
          ws.Rows(RowToTest).EntireRow.Delete
    End With
  Next RowToTest
Next
End Sub
Sub-RemDates()
昏暗的长椅
将ws设置为工作表
对于此工作簿中的每个ws.Sheets
对于RowToTest=ws.Cells(Rows.Count,3)。结束(xlUp)。行到1步骤-1
使用ws.Cells(RowToTest,3)
如果.Value>#12/24/2016#_
价值<#12/29/2016#然后_
ws.Rows(RowToTest).EntireRow.Delete
以
下一个划手
下一个
端接头
但这并不正确。下面是我的电子表格的屏幕截图(我想过滤)


感谢您的任何提示

出了什么问题?我假设这是错误的,因为你在行中循环,然后在循环中删除行,这会损害循环。列中的值是存储为日期还是文本?@tompreston-我认为它是excel中的“自定义”(CSV文件)-当我右键单击并选择“属性”时,这就是结果,我不确定圆形单元格出了什么问题?它的值不符合要删除的条件,您可能希望使用“或”代替“和”?这不是问题。您的代码表示,如果该值介于2016年12月24日和2016年12月29日之间,则删除该行,这是否确实是您想要的?列中的所有值似乎都正常?