Сравнение количества последовательных символов - 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