VBA:按类型而不是值过滤列

时间:2018-08-17 14:09:33

标签: excel-vba filter

我有一个excel文件,其中的一列应仅填充日期,但是某些单元格中可能有字符串或Nothing。有什么方法可以按类型而不是值来过滤数据,以便我可以删除不需要的行?

我在自动过滤器方法中没有找到可以执行此操作的运算符。

谢谢

1 个答案:

答案 0 :(得分:0)

Sub FilterLeavingJustTheDates()
 Set m = Sheets("Sheet1").Range("A1")

 If Not IsDate(m.Value) Then
  m.Value = ""
 End If

 Do
  n = n + 1

  Set m = m.Offset(1, 0)
  Set r = m.Resize(5, 1)
  b = False
  For Each cell In r
   If cell.Value <> "" Then
    b = True
   End If
  Next cell

  If Not IsDate(m.Value) Then
   m.Value = ""
  End If
 Loop Until b = False

 Range("A1:A" & n).AutoFilter Field:=1, Criteria1:="<>"
End Sub