Доброго времени суток, уважаемые форумчане. Снова обращаюсь в вам за АЛЬТЕРНАТИВНЫМ решением задачи для самообразования. Итак ситуация: имеется массив данных: Arr_fuel = Array("бензин", "топливо", "газ"). Требуется проверить содержимое активной ячейки на совпадение с элементами массива, при этом содержимое ячейки может иметь вид "Газ углеводородный СПБТ", но главное слово здесь это газ, проверять на совпадения нужно по маске и такой вариант должен считаться как совладение. При этом для дальнейших расчетов требуется запомнить номер элемента найденного совпадения в массиве. Сейчас все это РАБОТАЕТ так:
А вопрос у меня такой: можно ли найти значение j БЕЗ использования цикла. Повторюсь, рабочее решение у меня есть, просто хотелось бы узнать о возможности альтернативного решения, чисто для опыта. Если такого решения нет, ничего страшного, нет так нет.
Заранее спасибо всем откликнувшимся
Код |
---|
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Arr_fuel = Array("бензин", "топливо", "газ") For j = 0 To UBound(Arr_fuel) If UCase(ActiveCell.Value) Like UCase("*" & Arr_fuel(j) & "*") Then Exit For Next j If j <= UBound(Arr_fuel) Then x = Range("A1:C" & Cells(Rows.Count, 1).End(xlUp).Row).Value For i = 1 To UBound(x) If UCase(x(i, 1)) Like UCase("*" & Arr_fuel(j) & "*") Then MsgBox "ДА " & Arr_fuel(j) Next i Else: MsgBox "НЕТ" End If End Sub |
Заранее спасибо всем откликнувшимся