В столбце указан состав товаров, вот так: 11 белых роз 3 розовые розы, 2 белых лилии 5 белых хризантем, 5 желтых гербер, 7 красных гвоздик, 4 синих ириса Нужно в соседнем столбце заполнить название цвета формулой или функцией. Логика работы должна быть примерно такой: если в строке есть "белы", то в соседнем столбце пишем цвет "Белый", если в строке есть "красн", то в соседнем столбце пишем цвет "Красный", если в строке есть "желты", то в соседнем столбце пишем цвет "Желтый" и т.д. Если в строке указано несколько цветов, то цвета нужно записать в строке через точку с запятой, вот так - Красный;Белый;Желтый.
Никак не получается решить задачу... Заранее благодарен за помощь.
В столбце указан состав товаров, вот так: 11 белых роз 3 розовые розы, 2 белых лилии 5 белых хризантем, 5 желтых гербер, 7 красных гвоздик, 4 синих ириса Нужно в соседнем столбце заполнить название цвета формулой или функцией. Логика работы должна быть примерно такой: если в строке есть "белы", то в соседнем столбце пишем цвет "Белый", если в строке есть "красн", то в соседнем столбце пишем цвет "Красный", если в строке есть "желты", то в соседнем столбце пишем цвет "Желтый" и т.д. Если в строке указано несколько цветов, то цвета нужно записать в строке через точку с запятой, вот так - Красный;Белый;Желтый.
Никак не получается решить задачу... Заранее благодарен за помощь.realmen80
Мне кажется, было бы понятнее, если бы этот пункт был написан так: "s - в случае, если такая же тема была создана Вами не только на форуме сайта "Мир MS Excel", Вам нужно разместить ссылку на нее на форум где вы ее также опубликовали"
Тогда бы не возникало вопросов и я бы сразу же указал ссылку на тему на форуме planetaexcel. А из той формулировки что сейчас, я понял как раз наоборот, что я не могу размещать в своем сообщении ссылки на сторонние ресурсы...
Мне кажется, было бы понятнее, если бы этот пункт был написан так: "s - в случае, если такая же тема была создана Вами не только на форуме сайта "Мир MS Excel", Вам нужно разместить ссылку на нее на форум где вы ее также опубликовали"
Тогда бы не возникало вопросов и я бы сразу же указал ссылку на тему на форуме planetaexcel. А из той формулировки что сейчас, я понял как раз наоборот, что я не могу размещать в своем сообщении ссылки на сторонние ресурсы...
Sub cveta() f1 = Array("красн", "бел", "син", "желт", "розов") f2 = Array("Красный", "Белый", "Синий", "Желтый", "Розовый") For x = 2 To Cells(Rows.Count, 1).End(xlUp).Row s = Split(Cells(x, 1), ",") 'On Error Resume Next For y = 0 To UBound(s) For q = 0 To UBound(f1) If InStr(s(y), f1(q)) Then stroka = stroka & f2(q) Exit For End If Next q If y < UBound(s) Then stroka = stroka & ";" Next y Cells(x, 3) = stroka stroka = "" Next x End Sub
[/vba]
Добрый день. По материалам соседней темы))) [vba]
Код
Sub cveta() f1 = Array("красн", "бел", "син", "желт", "розов") f2 = Array("Красный", "Белый", "Синий", "Желтый", "Розовый") For x = 2 To Cells(Rows.Count, 1).End(xlUp).Row s = Split(Cells(x, 1), ",") 'On Error Resume Next For y = 0 To UBound(s) For q = 0 To UBound(f1) If InStr(s(y), f1(q)) Then stroka = stroka & f2(q) Exit For End If Next q If y < UBound(s) Then stroka = stroka & ";" Next y Cells(x, 3) = stroka stroka = "" Next x End Sub