Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как выделить ячейку макросом с определённым текстом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как выделить ячейку макросом с определённым текстом (Макросы/Sub)
Как выделить ячейку макросом с определённым текстом
Александр Дата: Суббота, 03.01.2015, 21:11 | Сообщение № 1
Группа: Гости
Всем привет, есть таблица из 8-10 столбиков и множеством строчек.
Нужно проанализировать столбец, пусть будет "В" к примеру, и найти ячейки текст которых содержит "упаковка для бла бла бла" или "упак-ка для бла бла бла" или "упак. для бла бла бла". "бла бла бла" может быть любым словом)))
Затем если ячейки содержит необходимое,нужно выделить всю строчку и удалить её.
Заранее благодарен.
 
Ответить
СообщениеВсем привет, есть таблица из 8-10 столбиков и множеством строчек.
Нужно проанализировать столбец, пусть будет "В" к примеру, и найти ячейки текст которых содержит "упаковка для бла бла бла" или "упак-ка для бла бла бла" или "упак. для бла бла бла". "бла бла бла" может быть любым словом)))
Затем если ячейки содержит необходимое,нужно выделить всю строчку и удалить её.
Заранее благодарен.

Автор - Александр
Дата добавления - 03.01.2015 в 21:11
Pelena Дата: Суббота, 03.01.2015, 21:17 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Без файла с примером только такой ответ
Удаление строк на листе по критерию


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Без файла с примером только такой ответ
Удаление строк на листе по критерию

Автор - Pelena
Дата добавления - 03.01.2015 в 21:17
red_fox-87 Дата: Суббота, 03.01.2015, 22:41 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
накидал
К сообщению приложен файл: 8255704.xls (13.5 Kb)
 
Ответить
Сообщениенакидал

Автор - red_fox-87
Дата добавления - 03.01.2015 в 22:41
wild_pig Дата: Суббота, 03.01.2015, 23:17 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Проба пера с регулярками
[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
[/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
[/vba]

Автор - wild_pig
Дата добавления - 03.01.2015 в 23:17
ikki Дата: Воскресенье, 04.01.2015, 00:10 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
.Pattern = "упаковка|упак.|уп-ка"
wild_pig, в этом шаблоне точка означает один любой символ, в т.ч. и точку
правильнее так:
[vba]
Код
.Pattern = "упаковка|упак\.|уп-ка"
[/vba]
хотя, конечно, на практике крайне маловероятно, что в данном случае встретятся "упаку" или "упак4" вместо "упак."


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
.Pattern = "упаковка|упак.|уп-ка"
wild_pig, в этом шаблоне точка означает один любой символ, в т.ч. и точку
правильнее так:
[vba]
Код
.Pattern = "упаковка|упак\.|уп-ка"
[/vba]
хотя, конечно, на практике крайне маловероятно, что в данном случае встретятся "упаку" или "упак4" вместо "упак."

Автор - ikki
Дата добавления - 04.01.2015 в 00:10
wild_pig Дата: Воскресенье, 04.01.2015, 01:21 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
[offtop]
точка означает один любой символ

Благодарствую, добрый человек![/offtop]
 
Ответить
Сообщение[offtop]
точка означает один любой символ

Благодарствую, добрый человек![/offtop]

Автор - wild_pig
Дата добавления - 04.01.2015 в 01:21
red_fox-87 Дата: Воскресенье, 04.01.2015, 12:25 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Ребят, спасибо огромное!
Небольшое дополнение, как сделать два условия ?
1. В первом слобце нужно искать цифры например 111-|114-|232-| и так далее,
2. В 4 столбце искать упак|упаковку|уп-ка| и тд,
Затем соответственно удалять всё это дело
 
Ответить
СообщениеРебят, спасибо огромное!
Небольшое дополнение, как сделать два условия ?
1. В первом слобце нужно искать цифры например 111-|114-|232-| и так далее,
2. В 4 столбце искать упак|упаковку|уп-ка| и тд,
Затем соответственно удалять всё это дело

Автор - red_fox-87
Дата добавления - 04.01.2015 в 12:25
Hugo Дата: Воскресенье, 04.01.2015, 13:09 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Так не пытались?
[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
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеТак не пытались?
[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
[/vba]

Автор - Hugo
Дата добавления - 04.01.2015 в 13:09
excelhelprus Дата: Воскресенье, 04.01.2015, 16:56 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 5 ±
Замечаний: 20% ±

2015
регексп освоить не так то просто. Предлагаю воспользоваться обычным 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


Сообщение отредактировал excelhelprus - Воскресенье, 04.01.2015, 16:58
 
Ответить
Сообщениерегексп освоить не так то просто. Предлагаю воспользоваться обычным 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

Автор - excelhelprus
Дата добавления - 04.01.2015 в 16:56
red_fox-87 Дата: Понедельник, 05.01.2015, 21:48 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Ребят не совсем по теме,но в туже копилку и работа с теми задачами.
В файле накидал пример.
в столбце А машины,в столбце С грузчики,с ячейке Е2, вбиваем сегодняшнее количество машин, в ячейке G2 нужно чтобы высветилось количество нужных грузчиков,можно через функцию если прописать,но проще массивом,а объяснить как пользоваться толком никто не может.
[moder]Новый вопрос - новая тема. Эта тема закрыта[/moder]
К сообщению приложен файл: 6722064.xls (14.0 Kb)
 
Ответить
СообщениеРебят не совсем по теме,но в туже копилку и работа с теми задачами.
В файле накидал пример.
в столбце А машины,в столбце С грузчики,с ячейке Е2, вбиваем сегодняшнее количество машин, в ячейке G2 нужно чтобы высветилось количество нужных грузчиков,можно через функцию если прописать,но проще массивом,а объяснить как пользоваться толком никто не может.
[moder]Новый вопрос - новая тема. Эта тема закрыта[/moder]

Автор - red_fox-87
Дата добавления - 05.01.2015 в 21:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как выделить ячейку макросом с определённым текстом (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!