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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление диапазона строк между двумя найденными словами - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Удаление диапазона строк между двумя найденными словами
Predator_7 Дата: Четверг, 22.05.2014, 11:03 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Добрый день!

Подскажите, плз, как найти, например, слово "папа" затем слово "мама" (допустим в диапазоне A1:E1000), выбрать этот диапазон строк и удалить его?
Затем пройтись дальше по строкам, опять найти и удалить и.т.д.
Вроде сделал поиск, выбрал диапазон строк и удалил, но зациклить не могу.

Спасибо большое! yes
 
Ответить
СообщениеДобрый день!

Подскажите, плз, как найти, например, слово "папа" затем слово "мама" (допустим в диапазоне A1:E1000), выбрать этот диапазон строк и удалить его?
Затем пройтись дальше по строкам, опять найти и удалить и.т.д.
Вроде сделал поиск, выбрал диапазон строк и удалил, но зациклить не могу.

Спасибо большое! yes

Автор - Predator_7
Дата добавления - 22.05.2014 в 11:03
SkyPro Дата: Четверг, 22.05.2014, 12:01 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub deleter()
Dim x, i&, v&, delRa As Range, startRow&, stopRow&
x = [a1:e1000].Value
startRow = 0
For i = 1 To UBound(x)
       For v = 1 To 5 'число колонок в диапазоне.  
           If InStr(1, x(i, v), "папа") > 0 Then
               startRow = i + 1
           End If
           If startRow > 0 Then
               If InStr(1, x(i, v), "мама") > 0 Then
                   stopRow = i - 1
                   If delRa Is Nothing Then
                       Set delRa = Range("A" & startRow & ":A" & stopRow)
                   Else
                       Set delRa = Union(delRa, Range("A" & startRow & ":A" & stopRow))
                   End If
                   stopRow = 0
                   startRow = 0
               End If
           End If
       Next
Next

If Not delRa Is Nothing Then
       delRa.EntireRow.Delete
       Set delRa = Nothing
End If
MsgBox "Удалено!"
End Sub
[/vba]


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Четверг, 22.05.2014, 12:02
 
Ответить
Сообщение[vba]
Код
Sub deleter()
Dim x, i&, v&, delRa As Range, startRow&, stopRow&
x = [a1:e1000].Value
startRow = 0
For i = 1 To UBound(x)
       For v = 1 To 5 'число колонок в диапазоне.  
           If InStr(1, x(i, v), "папа") > 0 Then
               startRow = i + 1
           End If
           If startRow > 0 Then
               If InStr(1, x(i, v), "мама") > 0 Then
                   stopRow = i - 1
                   If delRa Is Nothing Then
                       Set delRa = Range("A" & startRow & ":A" & stopRow)
                   Else
                       Set delRa = Union(delRa, Range("A" & startRow & ":A" & stopRow))
                   End If
                   stopRow = 0
                   startRow = 0
               End If
           End If
       Next
Next

If Not delRa Is Nothing Then
       delRa.EntireRow.Delete
       Set delRa = Nothing
End If
MsgBox "Удалено!"
End Sub
[/vba]

Автор - SkyPro
Дата добавления - 22.05.2014 в 12:01
Predator_7 Дата: Четверг, 22.05.2014, 12:35 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Спасибо!
hands
 
Ответить
СообщениеСпасибо!
hands

Автор - Predator_7
Дата добавления - 22.05.2014 в 12:35
SkyPro Дата: Четверг, 22.05.2014, 12:39 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Учтите, макрос за "папа" примет строку "папайя" или "парапапа". Аналогично с "мамой".
Для более "правильного" макроса недостаточно вводных.


skypro1111@gmail.com
 
Ответить
СообщениеУчтите, макрос за "папа" примет строку "папайя" или "парапапа". Аналогично с "мамой".
Для более "правильного" макроса недостаточно вводных.

Автор - SkyPro
Дата добавления - 22.05.2014 в 12:39
Predator_7 Дата: Понедельник, 26.05.2014, 15:49 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
SkyPro,
помогите, пожалуйста , вот еще с чем.
Я подставил просто значения i, чтобы макрос удалял и строки с найденными словами.
Как дописать , чтобы например, искалось слово "папа" и если в следующей ниже строчке пусто, а так же нашлось "мама", то удалить этот диапазон "папа" - "мама"?
А если найден диапазон "папа" и "мама", но ниже строчкой после "папа" ячейки заполнены, то не трогать.

СПАСИБО!
 
Ответить
СообщениеSkyPro,
помогите, пожалуйста , вот еще с чем.
Я подставил просто значения i, чтобы макрос удалял и строки с найденными словами.
Как дописать , чтобы например, искалось слово "папа" и если в следующей ниже строчке пусто, а так же нашлось "мама", то удалить этот диапазон "папа" - "мама"?
А если найден диапазон "папа" и "мама", но ниже строчкой после "папа" ячейки заполнены, то не трогать.

СПАСИБО!

Автор - Predator_7
Дата добавления - 26.05.2014 в 15:49
Predator_7 Дата: Четверг, 29.05.2014, 08:40 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Извините, не подскажите? :(
 
Ответить
СообщениеИзвините, не подскажите? :(

Автор - Predator_7
Дата добавления - 29.05.2014 в 08:40
  • Страница 1 из 1
  • 1
Поиск:

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