Всем привет, есть таблица из 8-10 столбиков и множеством строчек. Нужно проанализировать столбец, пусть будет "В" к примеру, и найти ячейки текст которых содержит "упаковка для бла бла бла" или "упак-ка для бла бла бла" или "упак. для бла бла бла". "бла бла бла" может быть любым словом))) Затем если ячейки содержит необходимое,нужно выделить всю строчку и удалить её. Заранее благодарен.
Всем привет, есть таблица из 8-10 столбиков и множеством строчек. Нужно проанализировать столбец, пусть будет "В" к примеру, и найти ячейки текст которых содержит "упаковка для бла бла бла" или "упак-ка для бла бла бла" или "упак. для бла бла бла". "бла бла бла" может быть любым словом))) Затем если ячейки содержит необходимое,нужно выделить всю строчку и удалить её. Заранее благодарен.Александр
Sub uuu() With CreateObject("VBscript.RegExp") .Global = True .Pattern = "упаковка|упак.|уп-ка" For rw = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1 If .Test(Cells(rw, 2)) Then Cells(rw, 2).EntireRow.Delete Next End With End Sub
[/vba]
Проба пера с регулярками [vba]
Код
Sub uuu() With CreateObject("VBscript.RegExp") .Global = True .Pattern = "упаковка|упак.|уп-ка" For rw = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1 If .Test(Cells(rw, 2)) Then Cells(rw, 2).EntireRow.Delete Next End With End Sub
Ребят, спасибо огромное! Небольшое дополнение, как сделать два условия ? 1. В первом слобце нужно искать цифры например 111-|114-|232-| и так далее, 2. В 4 столбце искать упак|упаковку|уп-ка| и тд, Затем соответственно удалять всё это дело
Ребят, спасибо огромное! Небольшое дополнение, как сделать два условия ? 1. В первом слобце нужно искать цифры например 111-|114-|232-| и так далее, 2. В 4 столбце искать упак|упаковку|уп-ка| и тд, Затем соответственно удалять всё это делоred_fox-87
.Pattern = "111-|114-|232-|упаковка|упак\.|уп-ка" For rw = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1 If .Test(Cells(rw, 1)) And .Test(Cells(rw, 2)) Then Cells(rw, 2).EntireRow.Delete Next
[/vba]
Так не пытались? [vba]
Код
.Pattern = "111-|114-|232-|упаковка|упак\.|уп-ка" For rw = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1 If .Test(Cells(rw, 1)) And .Test(Cells(rw, 2)) Then Cells(rw, 2).EntireRow.Delete Next
регексп освоить не так то просто. Предлагаю воспользоваться обычным Like [vba]
Код
With ActiveSheet For i = 1 To 100 For j = 1 To 10 If .Cells(i, j) Like "*упаковка*" Or .Cells(i, j) Like "*уп*ка*" Then .Rows(i).Delete If i > 1 Then i = i - 1 Exit For End If Next Next End With
[/vba] можно даже список создать в Excel столбиком из значений для сравнения и в коде все их перебрать: [vba]
Код
With ActiveSheet lastrow = .Range("W" & Rows.Count).End(xlUp).Row For i = 1 To 100 For j = 1 To 10 For k = 1 To lastrow If .Cells(i, j) Like "*" & .Cells(k, "W") & "*" Then .Rows(i).Delete If i > 1 Then i = i - 1 GoTo 10 End If Next Next 10 Next End With
[/vba] тут значения в столбик записывайте в столбец W
регексп освоить не так то просто. Предлагаю воспользоваться обычным Like [vba]
Код
With ActiveSheet For i = 1 To 100 For j = 1 To 10 If .Cells(i, j) Like "*упаковка*" Or .Cells(i, j) Like "*уп*ка*" Then .Rows(i).Delete If i > 1 Then i = i - 1 Exit For End If Next Next End With
[/vba] можно даже список создать в Excel столбиком из значений для сравнения и в коде все их перебрать: [vba]
Код
With ActiveSheet lastrow = .Range("W" & Rows.Count).End(xlUp).Row For i = 1 To 100 For j = 1 To 10 For k = 1 To lastrow If .Cells(i, j) Like "*" & .Cells(k, "W") & "*" Then .Rows(i).Delete If i > 1 Then i = i - 1 GoTo 10 End If Next Next 10 Next End With
[/vba] тут значения в столбик записывайте в столбец Wexcelhelprus
Сообщение отредактировал excelhelprus - Воскресенье, 04.01.2015, 16:58
Ребят не совсем по теме,но в туже копилку и работа с теми задачами. В файле накидал пример. в столбце А машины,в столбце С грузчики,с ячейке Е2, вбиваем сегодняшнее количество машин, в ячейке G2 нужно чтобы высветилось количество нужных грузчиков,можно через функцию если прописать,но проще массивом,а объяснить как пользоваться толком никто не может. [moder]Новый вопрос - новая тема. Эта тема закрыта[/moder]
Ребят не совсем по теме,но в туже копилку и работа с теми задачами. В файле накидал пример. в столбце А машины,в столбце С грузчики,с ячейке Е2, вбиваем сегодняшнее количество машин, в ячейке G2 нужно чтобы высветилось количество нужных грузчиков,можно через функцию если прописать,но проще массивом,а объяснить как пользоваться толком никто не может. [moder]Новый вопрос - новая тема. Эта тема закрыта[/moder]red_fox-87