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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление информации между заданными строками. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление информации между заданными строками. (Макросы/Sub)
Удаление информации между заданными строками.
Shaytan Дата: Понедельник, 17.03.2014, 15:09 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Доброго времени суток Уважаемые форумчане!
Вопрос состоит в следующем. Есть таблица в которой в столбце "C" находится текстовая информация, задача собственно вот в чём.
Необходимо макросом:
1. Найти строчку где есть слово 'Влет в блок
2. Удалить все строки с (включая 'Влет в блок) до блока 'Вылет из блока (включая)

С макросами только начал знакомится, всем спасибо за подсказки либо готовые решения.
 
Ответить
СообщениеДоброго времени суток Уважаемые форумчане!
Вопрос состоит в следующем. Есть таблица в которой в столбце "C" находится текстовая информация, задача собственно вот в чём.
Необходимо макросом:
1. Найти строчку где есть слово 'Влет в блок
2. Удалить все строки с (включая 'Влет в блок) до блока 'Вылет из блока (включая)

С макросами только начал знакомится, всем спасибо за подсказки либо готовые решения.

Автор - Shaytan
Дата добавления - 17.03.2014 в 15:09
Wasilich Дата: Понедельник, 17.03.2014, 15:24 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Есть таблица в которой в столбце "C" находится текстовая информация,
А у нас такой таблицы нет. :)
 
Ответить
Сообщение
Есть таблица в которой в столбце "C" находится текстовая информация,
А у нас такой таблицы нет. :)

Автор - Wasilich
Дата добавления - 17.03.2014 в 15:24
Shaytan Дата: Понедельник, 17.03.2014, 15:28 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Вернее даже уже по другому стал стоять вопрос, нужно каждую строку проверить на наличие в ней "Влет в блок" и если данное слово есть, то очищать данную ячейку.
 
Ответить
СообщениеВернее даже уже по другому стал стоять вопрос, нужно каждую строку проверить на наличие в ней "Влет в блок" и если данное слово есть, то очищать данную ячейку.

Автор - Shaytan
Дата добавления - 17.03.2014 в 15:28
Hugo Дата: Понедельник, 17.03.2014, 15:33 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Нужен цикл снизу вверх (в одном из многих вариантов):
[vba]
Код
Sub tt()
      Dim i&, f$
      With ActiveSheet
          For i = .Cells(.Rows.Count, 3).End(xlUp).Row To 1 Step -1
              If .Cells(i, 3) = "Вылет из блока" Then f = i
              If .Cells(i, 3) = "Влет в блок" Then Rows(i & ":" & f).EntireRow.Delete
          Next
      End With
End Sub
[/vba]
"Вопрос по другому" не видел. Ну на это даже и отвечать не интересно теперь... Всё в коде есть.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНужен цикл снизу вверх (в одном из многих вариантов):
[vba]
Код
Sub tt()
      Dim i&, f$
      With ActiveSheet
          For i = .Cells(.Rows.Count, 3).End(xlUp).Row To 1 Step -1
              If .Cells(i, 3) = "Вылет из блока" Then f = i
              If .Cells(i, 3) = "Влет в блок" Then Rows(i & ":" & f).EntireRow.Delete
          Next
      End With
End Sub
[/vba]
"Вопрос по другому" не видел. Ну на это даже и отвечать не интересно теперь... Всё в коде есть.

Автор - Hugo
Дата добавления - 17.03.2014 в 15:33
Shaytan Дата: Понедельник, 17.03.2014, 15:38 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Sub tt()
    Dim i&, f$
    With ActiveSheet
        For i = .Cells(.Rows.Count, 3).End(xlUp).Row To 1 Step -1
            If .Cells(i, 3) = "Вылет из блока" Then f = i
            If .Cells(i, 3) = "Влет в блок" Then Rows(i & ":" & f).EntireRow.Delete
        Next
    End With
End Sub


спасибо, буду пробовать.
 
Ответить
Сообщение
Sub tt()
    Dim i&, f$
    With ActiveSheet
        For i = .Cells(.Rows.Count, 3).End(xlUp).Row To 1 Step -1
            If .Cells(i, 3) = "Вылет из блока" Then f = i
            If .Cells(i, 3) = "Влет в блок" Then Rows(i & ":" & f).EntireRow.Delete
        Next
    End With
End Sub


спасибо, буду пробовать.

Автор - Shaytan
Дата добавления - 17.03.2014 в 15:38
Wasilich Дата: Понедельник, 17.03.2014, 15:44 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
каждую строку проверить на наличие в ней "Влет в блок" и если данное слово есть, то очищать данную ячейку.
Да пожалуйста!
[vba]
Код
Sub Поиск()
          Dim ISK$
          ISK = Range("A1") 'текст для поика
          For i = 1 To  PS = Range("C" & Rows.Count).End(xlUp).Row  'последняя строка списка
              If Cells(i, 3) Like "*[(ISK)]*" = True Then  Cells(i, 3).ClearContents
          Next i
End Sub
[/vba]


Сообщение отредактировал Wasilic - Понедельник, 17.03.2014, 15:48
 
Ответить
Сообщение
каждую строку проверить на наличие в ней "Влет в блок" и если данное слово есть, то очищать данную ячейку.
Да пожалуйста!
[vba]
Код
Sub Поиск()
          Dim ISK$
          ISK = Range("A1") 'текст для поика
          For i = 1 To  PS = Range("C" & Rows.Count).End(xlUp).Row  'последняя строка списка
              If Cells(i, 3) Like "*[(ISK)]*" = True Then  Cells(i, 3).ClearContents
          Next i
End Sub
[/vba]

Автор - Wasilich
Дата добавления - 17.03.2014 в 15:44
Shaytan Дата: Вторник, 18.03.2014, 11:32 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
вопрос снят
Спасибо


Сообщение отредактировал Shaytan - Вторник, 18.03.2014, 11:54
 
Ответить
Сообщениевопрос снят
Спасибо

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

2019
Wasilic, что-то я код не понял...
Так задумывалось?
[vba]
Код
Sub Поиск()
         Dim ISK$
         ISK = Range("A1") 'текст для поика
         For i = 1 To Range("C" & Rows.Count).End(xlUp).Row   'последняя строка списка
             If Cells(i, 3) Like "*" & ISK & "*" = True Then Cells(i, 3).ClearContents
         Next i
End Sub
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеWasilic, что-то я код не понял...
Так задумывалось?
[vba]
Код
Sub Поиск()
         Dim ISK$
         ISK = Range("A1") 'текст для поика
         For i = 1 To Range("C" & Rows.Count).End(xlUp).Row   'последняя строка списка
             If Cells(i, 3) Like "*" & ISK & "*" = True Then Cells(i, 3).ClearContents
         Next i
End Sub
[/vba]

Автор - Hugo
Дата добавления - 18.03.2014 в 12:13
KuklP Дата: Вторник, 18.03.2014, 12:35 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Я бы instr использовал. И желательно в массиве. Шустрей было бы.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЯ бы instr использовал. И желательно в массиве. Шустрей было бы.

Автор - KuklP
Дата добавления - 18.03.2014 в 12:35
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление информации между заданными строками. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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