Столкнулся с проблемой: из таблицы с длинным наименованием товара (столбец "А") необходимо выбрать тот или иной товар из таблицы (E1:E7) с кратким наименованием и добавить в столбец "В" краткое наименование товара. Пример прилагаю.
Использование ВПР с интервальным просмотром "ИСТИНА" дает совсем плохие результаты, а перебирать конструкцией = ЕСЛИ( ПОИСК) неудобно, т.к. в реальном файле вариантов кратких наименований больше 100... Заранее спасибо за труды!
Sub Категории()
Dim err As Variant
err = Sheets("Лист2").Range("E1:E7")
Dim r As Range
Dim y As Long
With ActiveSheet
y = .Cells(.Rows.Count, 1).End(xlUp).Row
Set r = .Range(.Cells(1, 1), .Cells(y, 2))
End With
Dim arr As Variant
arr = r
Dim u As Long
For y = 1 To UBound(arr, 1)
For u = 1 To UBound(err, 1)
If InStr(LCase(arr(y, 1)), LCase(err(u, 1))) > 0 Then
arr(y, 2) = err(u, 1)
Exit For
End If
Next
Next
r = arr
End Sub
Всем большое спасибо за участие! Все варианты оказались рабочими, но не без недостатков, к сожалению... В случае, когда в кратком наименовании пропущена часть слов из полного наименования, то Excel теряется (как с айфонами, например). Но, в любом случае, с этим уже можно работать, если пересобрать исходник кратких наименований. Еще раз благодарю!