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

Вход

Регистрация

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

 

= Мир MS Excel/Убрать строки со всех листов книги - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Убрать строки со всех листов книги
friday13 Дата: Четверг, 28.09.2017, 12:46 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем, привет!

Надеюсь, что тема возродится и я получу ответ или консультацию

и так, есть отчёт который выгружает данные по разным брендам в разные книги, получается много книг с одним листом.
вопрос решил, теперь файл объединяет несколько книг в одну

но осталась проблема, во всех листах остаются лишние строки и столбцы, гугление кодов не помогло

вложил файл и жёлтым выделил то, что хотелось бы удалять с листов, их может быть до 20-ти
так же есть пара нюансов:
1. в месяцах, где 30 дней столбцы AI-AO сдвигаются на один влево
2. строки 243-257 - так же могут меняться из раза в раз из на разных листах могут быть на разном месте

И если строку 6 и столбцы AI-AO - можно удалить со всех листов при помощи выделения всех листов, то со строками 243-257 так не выйдет, так как на разных листах они будут в разном месте, но с единым наименованием

можно ли это решить?

спасибо!
К сообщению приложен файл: 11111.xlsm (64.3 Kb)


Сообщение отредактировал friday13 - Четверг, 28.09.2017, 12:46
 
Ответить
СообщениеВсем, привет!

Надеюсь, что тема возродится и я получу ответ или консультацию

и так, есть отчёт который выгружает данные по разным брендам в разные книги, получается много книг с одним листом.
вопрос решил, теперь файл объединяет несколько книг в одну

но осталась проблема, во всех листах остаются лишние строки и столбцы, гугление кодов не помогло

вложил файл и жёлтым выделил то, что хотелось бы удалять с листов, их может быть до 20-ти
так же есть пара нюансов:
1. в месяцах, где 30 дней столбцы AI-AO сдвигаются на один влево
2. строки 243-257 - так же могут меняться из раза в раз из на разных листах могут быть на разном месте

И если строку 6 и столбцы AI-AO - можно удалить со всех листов при помощи выделения всех листов, то со строками 243-257 так не выйдет, так как на разных листах они будут в разном месте, но с единым наименованием

можно ли это решить?

спасибо!

Автор - friday13
Дата добавления - 28.09.2017 в 12:46
and_evg Дата: Четверг, 28.09.2017, 13:11 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 496
Репутация: 100 ±
Замечаний: 0% ±

Excel 2007
в разном месте, но с единым наименованием

Тогда поможет поиск строки "Общий хронометраж рекламной кампании:" вычисление номер строки и удаление вместе с ней 15-ти строк

[vba]
Код
        stroka = Cells.Find(What:="Общий хронометраж рекламной кампании:", After:=ActiveCell _
        , LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
        Rows(stroka & ":" & stroka + 14).Delete Shift:=xlUp
[/vba]


Сообщение отредактировал and_evg - Четверг, 28.09.2017, 13:16
 
Ответить
Сообщение
в разном месте, но с единым наименованием

Тогда поможет поиск строки "Общий хронометраж рекламной кампании:" вычисление номер строки и удаление вместе с ней 15-ти строк

[vba]
Код
        stroka = Cells.Find(What:="Общий хронометраж рекламной кампании:", After:=ActiveCell _
        , LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
        Rows(stroka & ":" & stroka + 14).Delete Shift:=xlUp
[/vba]

Автор - and_evg
Дата добавления - 28.09.2017 в 13:11
friday13 Дата: Четверг, 28.09.2017, 14:34 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
and_evg, Спасибо! за ответ, но не совсем понимаю, как это интегрировать
 
Ответить
Сообщениеand_evg, Спасибо! за ответ, но не совсем понимаю, как это интегрировать

Автор - friday13
Дата добавления - 28.09.2017 в 14:34
Che79 Дата: Четверг, 28.09.2017, 17:54 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
friday13, Денис, здравствуйте. Рабоче-крестьянский вариант "в лоб". Макрос проставляет кол-во роликов в день и удаляет всё жёлтое с каждого листа в файле. Запускается по кнопке с первой выгрузки (Еще две добавил для наглядности). Если в файле будет миллион листов, то, конечно, будет тормозить. (Про миллион листов - это, скорее, касается регионалки, в националке такого нет). Столбец с CPP удалять не стал, но обычно его тоже убирают с клиентских глаз. Честно предупреждаю, что в макросах я "дуб дубом", и этот код спецы Вам оптимизируют "на раз".
[vba]
Код
Sub NewVIMB_YellowUdalenie()
Dim r&, sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        r = sh.Cells(Rows.Count, 35).End(xlUp).Row
        sh.Cells(r + 1, 4).FormulaR1C1 = _
        "=COUNTIF(R11C:R" & r & "C,10)+COUNTIF(R11C:R" & r & "C,20)+ COUNTIF(R11C:R" & r & "C,15)+ COUNTIF(R11C:R" & r & "C,5)"
        sh.Cells(r + 1, 4).AutoFill sh.Range("D" & r + 1 & ":AH" & r + 1)
        sh.Range("6:6").Delete
Dim wsSh As Worksheet
       For Each wsSh In Sheets
        wsSh.UsedRange.Value = wsSh.UsedRange.Value
       Next wsSh
    sh.Range("AI:AO").Delete
    sh.Range(r + 1 & ":" & r + 50).Delete
   Next
End Sub
[/vba]
К сообщению приложен файл: 111222.xlsm (85.6 Kb)


Делай нормально и будет нормально!
 
Ответить
Сообщениеfriday13, Денис, здравствуйте. Рабоче-крестьянский вариант "в лоб". Макрос проставляет кол-во роликов в день и удаляет всё жёлтое с каждого листа в файле. Запускается по кнопке с первой выгрузки (Еще две добавил для наглядности). Если в файле будет миллион листов, то, конечно, будет тормозить. (Про миллион листов - это, скорее, касается регионалки, в националке такого нет). Столбец с CPP удалять не стал, но обычно его тоже убирают с клиентских глаз. Честно предупреждаю, что в макросах я "дуб дубом", и этот код спецы Вам оптимизируют "на раз".
[vba]
Код
Sub NewVIMB_YellowUdalenie()
Dim r&, sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        r = sh.Cells(Rows.Count, 35).End(xlUp).Row
        sh.Cells(r + 1, 4).FormulaR1C1 = _
        "=COUNTIF(R11C:R" & r & "C,10)+COUNTIF(R11C:R" & r & "C,20)+ COUNTIF(R11C:R" & r & "C,15)+ COUNTIF(R11C:R" & r & "C,5)"
        sh.Cells(r + 1, 4).AutoFill sh.Range("D" & r + 1 & ":AH" & r + 1)
        sh.Range("6:6").Delete
Dim wsSh As Worksheet
       For Each wsSh In Sheets
        wsSh.UsedRange.Value = wsSh.UsedRange.Value
       Next wsSh
    sh.Range("AI:AO").Delete
    sh.Range(r + 1 & ":" & r + 50).Delete
   Next
End Sub
[/vba]

Автор - Che79
Дата добавления - 28.09.2017 в 17:54
friday13 Дата: Четверг, 28.09.2017, 19:35 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Che79, не ожидал встретить кого-то из медийки на этом форуме
Спасибо!
 
Ответить
СообщениеChe79, не ожидал встретить кого-то из медийки на этом форуме
Спасибо!

Автор - friday13
Дата добавления - 28.09.2017 в 19:35
  • Страница 1 из 1
  • 1
Поиск:

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