vba仅对字符值进行过滤

时间:2017-05-17 23:48:59

标签: excel-vba filtering vba excel

我想制作一个过滤器来查看包含任何字符的行。

例如,A列包含124124,4231,R2341,RRR

然后我想从列A看到R2341,RRR。有没有办法只过滤字符串?

谢谢!

1 个答案:

答案 0 :(得分:1)

使用AutoFilter中的文本过滤器包含功能:

enter image description here

或者使用VBA:

Sub Macro1()
    Columns("A:A").AutoFilter
    ActiveSheet.Range("$A$1:$A$5").AutoFilter Field:=1, Criteria1:="=*R*", _
        Operator:=xlAnd
End Sub

修改#1:

要测试是否存在任何字母,请在帮助列中使用此 UDF()

Public Function HasLetter(v As Variant) As Boolean
    Dim i As Long, L As Long
    HasLetter = False
    If Len(v) = 0 Then Exit Function
    L = Len(v)
    For i = 1 To L
        If Mid(v, i, 1) Like "[a-zA-Z]" Then
            HasLetter = True
            Exit Function
        End If
    Next i
End Function

并过滤 True