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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос удаления строки, если вторая ячейка строки пустая - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос удаления строки, если вторая ячейка строки пустая (Макросы/Sub)
Макрос удаления строки, если вторая ячейка строки пустая
Yar4i4 Дата: Понедельник, 15.02.2016, 09:56 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Доброе утро.
Таблица содержит ненужные пустые строки, которые нужно удалить.
Строки эти начинаются с (A20) всегда. Заканчиваются неизвестно какой строкой.
Вторая ячейка строк подлежащих удалению содержит "..." или пуста. Она имеет границу ( в отличие от ячеек из "бороды" (A37-A45 - их удалять нельзя)).
Нужен макрос удаляющий эти всегда разные строки (27, 28, 30, 33)
К сообщению приложен файл: 11111111.xlsx(13Kb)
 
Ответить
СообщениеДоброе утро.
Таблица содержит ненужные пустые строки, которые нужно удалить.
Строки эти начинаются с (A20) всегда. Заканчиваются неизвестно какой строкой.
Вторая ячейка строк подлежащих удалению содержит "..." или пуста. Она имеет границу ( в отличие от ячеек из "бороды" (A37-A45 - их удалять нельзя)).
Нужен макрос удаляющий эти всегда разные строки (27, 28, 30, 33)

Автор - Yar4i4
Дата добавления - 15.02.2016 в 09:56
Pelena Дата: Понедельник, 15.02.2016, 10:06 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9842
Репутация: 2252 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеГотовое решение Удаление строк по критерию

Автор - Pelena
Дата добавления - 15.02.2016 в 10:06
Апострофф Дата: Понедельник, 15.02.2016, 10:19 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 26 ±
Замечаний: 0% ±

Excel 2003
Вариант -
[vba]
Код
For r = 20 To Cells.Rows.Count
  If Cells(r, 1).Borders(xlEdgeRight).LineStyle = xlNone Then Exit For
  If Cells(r, 2) = "" Or Cells(r, 2) = "..." Or Cells(r, 2) = "…" Then Rows(r).Delete: r = r - 1
Next r
[/vba]
 
Ответить
СообщениеВариант -
[vba]
Код
For r = 20 To Cells.Rows.Count
  If Cells(r, 1).Borders(xlEdgeRight).LineStyle = xlNone Then Exit For
  If Cells(r, 2) = "" Or Cells(r, 2) = "..." Or Cells(r, 2) = "…" Then Rows(r).Delete: r = r - 1
Next r
[/vba]

Автор - Апострофф
Дата добавления - 15.02.2016 в 10:19
RAN Дата: Понедельник, 15.02.2016, 10:23 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub Мяу()
    Dim lr&, i&
    Application.ScreenUpdating = False
    With ActiveSheet
        lr = .Columns(1).Find("Исполнитель", , , xlPart).Row - 3
        For i = lr To 20 Step -1
            If Len(.Cells(i, 2)) = 0 Or Left$(.Cells(i, 2).Value, 1) Like "[. " & Chr(133) & "]" Then .Rows(i).Delete
        Next
    End With
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub Мяу()
    Dim lr&, i&
    Application.ScreenUpdating = False
    With ActiveSheet
        lr = .Columns(1).Find("Исполнитель", , , xlPart).Row - 3
        For i = lr To 20 Step -1
            If Len(.Cells(i, 2)) = 0 Or Left$(.Cells(i, 2).Value, 1) Like "[. " & Chr(133) & "]" Then .Rows(i).Delete
        Next
    End With
End Sub
[/vba]

Автор - RAN
Дата добавления - 15.02.2016 в 10:23
Апострофф Дата: Понедельник, 15.02.2016, 10:33 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 71
Репутация: 26 ±
Замечаний: 0% ±

Excel 2003
[offtop]ТС не говорил, что данные, не подлежащие удалению, не могут начинаться с точки.[/offtop]
 
Ответить
Сообщение[offtop]ТС не говорил, что данные, не подлежащие удалению, не могут начинаться с точки.[/offtop]

Автор - Апострофф
Дата добавления - 15.02.2016 в 10:33
Wasilich Дата: Понедельник, 15.02.2016, 12:35 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 858
Репутация: 220 ±
Замечаний: 0% ±

2003
Интересно, кто ставит в одном месте три точки в другом троеточие - Chr(133)?
Так можно ставить что попало и как попало - пробел три точки, точка пробел точка и т. д. Порядок какой то нужен.
К сообщению приложен файл: Yar4i4.xls(40Kb)
 
Ответить
СообщениеИнтересно, кто ставит в одном месте три точки в другом троеточие - Chr(133)?
Так можно ставить что попало и как попало - пробел три точки, точка пробел точка и т. д. Порядок какой то нужен.

Автор - Wasilich
Дата добавления - 15.02.2016 в 12:35
Yar4i4 Дата: Понедельник, 15.02.2016, 13:06 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Спасибо.
Моей радости нет границ. Ещё неделю назад я не представлял, что это выполнимо.
 
Ответить
СообщениеСпасибо.
Моей радости нет границ. Ещё неделю назад я не представлял, что это выполнимо.

Автор - Yar4i4
Дата добавления - 15.02.2016 в 13:06
Yar4i4 Дата: Среда, 24.02.2016, 09:28 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
одном месте три точки в другом троеточие

Доброго постпраздничного дня Вам!
Пользуюсь Вашей версией макроса. Сегодня увидел, что макрос не сработал, т.к. ко мне данные поступили в неверном виде. В ячейке, определяющей удаление всей строки троеточие (или три точки) располагались не в начале, а в конце.
Я скопировал содержимое ячейки:
"М/к труб стальных бесшовных горячедеформированных..."
Как можно учесть эти точки, если они встречаться будут в ячейке?
(все первоначальные условия такие же , только точки (троеточие - не понял пока что это) не стационарны в ячейке.
Спасибо.

Всех мужиков с прошедшим праздником!
 
Ответить
Сообщение
одном месте три точки в другом троеточие

Доброго постпраздничного дня Вам!
Пользуюсь Вашей версией макроса. Сегодня увидел, что макрос не сработал, т.к. ко мне данные поступили в неверном виде. В ячейке, определяющей удаление всей строки троеточие (или три точки) располагались не в начале, а в конце.
Я скопировал содержимое ячейки:
"М/к труб стальных бесшовных горячедеформированных..."
Как можно учесть эти точки, если они встречаться будут в ячейке?
(все первоначальные условия такие же , только точки (троеточие - не понял пока что это) не стационарны в ячейке.
Спасибо.

Всех мужиков с прошедшим праздником!

Автор - Yar4i4
Дата добавления - 24.02.2016 в 09:28
RAN Дата: Среда, 24.02.2016, 09:38 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
[vba]
Код
Or .Cells(i, 2).Value Like "*...*"
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Or .Cells(i, 2).Value Like "*...*"
[/vba]

Автор - RAN
Дата добавления - 24.02.2016 в 09:38
Yar4i4 Дата: Среда, 24.02.2016, 13:02 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 55
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013

Спасибо.
Я вписал этот код в строку с условием "если" и заработало.
 
Ответить
Сообщение
Спасибо.
Я вписал этот код в строку с условием "если" и заработало.

Автор - Yar4i4
Дата добавления - 24.02.2016 в 13:02
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос удаления строки, если вторая ячейка строки пустая (Макросы/Sub)
Страница 1 из 11
Поиск:

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