Сравнение количества последовательных символов - VBA

Узнай цену своей работы

Формулировка задачи:

Приветсвую ! Есть задача сравнивать два столбца на разных эксель листах. В ячейках находятся названия компаний, но проблема в том, что они записаны разным регистром и в разной форме. Например в одной таблице в ячейке записано ООО "Ромашка", во второй ячейке ооо /ромашка/. Как сделать сравнение по 4-м или 5-и последовательным символам исключая регистр ?

Решение задачи: «Сравнение количества последовательных символов»

textual
Листинг программы
Sub test()
Dim txt As String
Dim p As Integer
Dim i As Integer
Dim j As Integer
Dim maxp As Integer
Dim pos As Integer
Dim x As Integer
 
 
For j = 1 To 4
   txt = Cells(j, 2) 'текст для сравнения
   p = 0
   maxp = 0
   For i = 1 To Len(Cells(1, 1))  'проходим по символам в искомом тексте
   pos = InStr(1, txt, Mid(Cells(1, 1), i, 1), vbTextCompare)  'ищем вхождение
   If pos > 0 Then
   p = p + 1       'увеличиваем счетчик совпадений
   txt = Left(txt, pos - 1) & Right(txt, Len(txt) - pos)   'убираем найденный символ из текста
   Else
      If i >= 3 And i <= 7 Then ' Отсеиваем совпадения по первым символам
      p = 0
      Else
      '{
      If maxp < p Then
      maxp = p
      p = 0
      Else
      p = 0
      End If
      '}
      End If
    
      
   End If
   Next i
   
   If maxp < p Then
   maxp = p
   p = 0
   Else
   p = 0
   End If
   
   If maxp >= 3 Then x = x + 1 'Счет совпадений в столбце
   
Next j
   MsgBox "Максимальное количество совпадений в столбце = " & x & " "
   End Sub

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы