День добрый всем !
Есть макрос поиска по InStr- нашел на просторах инета приспособил под свои нужды
По значению TextBox1 ищет совпадающие значения в столбце B и показывает нужные строки с совпадающими значениями (остальные скрывает)
Вопрос в том что нужно сделать нестрогий поиск - исключить спецсимволы (кавычки, точки, тире и пр) и лишние пробелы (не дожны учитываться при поиске)
те както модифицировать строку
чтоб не учитывал при поиске регистр,спецсимволы и лишние пробелы ?
Например: в TextBox1 строка для поиска: Шкаф Белый
найдет шкаф "белый"
Есть макрос поиска по InStr- нашел на просторах инета приспособил под свои нужды
По значению TextBox1 ищет совпадающие значения в столбце B и показывает нужные строки с совпадающими значениями (остальные скрывает)
Код |
---|
Sub Поиск () Dim strText As String, arr() Dim lr As Long, i As Long, x Rows.Hidden = False strText = ActiveSheet.OLEObjects("Textbox1").Object.text If strText = "" Then Exit Sub End If lr = Cells(Rows.Count, "B").End(xlUp).Row arr() = Range("B1:B" & lr).Value For i = 4 To UBound(arr) If InStr(1, arr(i, 1), strText, vbTextCompare) = 0 Then Rows(i).Hidden = True Else Rows(i).Hidden = False End If Next i x = dhCountVisibleCells(Range("A5:S500")) If x = 0 Then Rows.EntireRow.Hidden = False MsgBox "Текст не найден !" Else ' ActiveWindow.ScrollColumn = 8 End If End Sub |
Вопрос в том что нужно сделать нестрогий поиск - исключить спецсимволы (кавычки, точки, тире и пр) и лишние пробелы (не дожны учитываться при поиске)
те както модифицировать строку
Код |
---|
If InStr(1, arr(i, 1), strText, vbTextCompare) = 0 Then |
чтоб не учитывал при поиске регистр,спецсимволы и лишние пробелы ?
Например: в TextBox1 строка для поиска: Шкаф Белый
найдет шкаф "белый"