按日期过滤 - VBA

时间:2018-06-15 16:46:43

标签: excel vba excel-vba

我想按日期过滤,以便我可以删除以前相同日期的数据并进行更新。我遇到了这部分代码的问题,因为如果日期格式在03/07/18和03/07/2018之间变化,它将无法正确过滤。

我如何解释格式的差异,因为用户可以通过两种方式输入日期?谢谢!

Sheet3.Select
dateToFind = Sheet8.Range("L6")
Range("A1").Select
Selection.AutoFilter
ActiveSheet.UsedRange.Select
Selection.AutoFilter field:=10, Criteria1:=dateToFind

Selection.Offset(1, 0).Select

lr = Cells(Rows.Count, 1).End(xlUp).Row
If lr > 1 Then
    Range("A2:A" & lr).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End If

1 个答案:

答案 0 :(得分:0)

按以下方式将格式设置为通用设置文本到列。

> Columns("K:K").Select 'reformat date to function in the rest of the
> macro
>     Selection.TextToColumns Destination:=Range("k1"), DataType:=xlDelimited, _
>         TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
>         Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
>         :=Array(1, 3), TrailingMinusNumbers:=True