如何找到两次具有相同特殊字符的单元格?

如何找到两次具有相同特殊字符的单元格?

我有一个列表 A1:A4000,想要对其进行排序或查找在一个单元格中两次出现特殊字符“@”的单元格。

答案1

我尊重 duDE 的评论,但我有这个方便:

使用此公式添加额外的列。假设第一个值在 A2 中

=LEN(A2)-LEN(SUBSTITUTE(A2,"@",""))

然后,您可以按此新列进行排序,以得出发生次数

答案2

这样做就可以了

Option Explicit
Sub Sigh()

Dim row As Integer
row = 1                        'UPDATE THIS FROM 1 TO THE FIRST ROW
Do While (Range("A" & row).Value <> "")

    Dim occurances As Integer
    occurances = StringCountOccurrences(Range("A" & row).Value, "@")
    If (occurances > 1) Then
        Range("B" & row).Value = "Yes"
    End If

row = row + 1
Loop

End Sub

Function StringCountOccurrences(strText As String, strFind As String, _
                                Optional lngCompare As VbCompareMethod) As Long
'copied from http://codevba.com/visual-basic-source-code/vb-string/count_occurrences_in_a_string.htm#.VbIjzyty3OQ
Dim lngPos As Long
Dim lngTemp As Long
Dim lngCount As Long
    If Len(strText) = 0 Then Exit Function
    If Len(strFind) = 0 Then Exit Function
    lngPos = 1
    Do
        lngPos = InStr(lngPos, strText, strFind, lngCompare)
        lngTemp = lngPos
        If lngPos > 0 Then
            lngCount = lngCount + 1
            lngPos = lngPos + Len(strFind)
        End If
    Loop Until lngPos = 0
    StringCountOccurrences = lngCount
End Function

相关内容