-2

У меня есть список A1:A4000 хочет отсортировать или найти ячейки, имеющие специальный символ '@', два раза в одной ячейке.

2 ответа2

3

Я уважаю комментарий duDE, но у меня есть это под рукой:

Добавьте дополнительный столбец с этой формулой. Это предполагает, что первое значение находится в A2

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

Затем вы можете отсортировать по этому новому столбцу, чтобы дать вам количество вхождений

1

Это сделает это

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .