Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2010, 10:04   #1
e_v_b
 
Регистрация: 02.09.2010
Сообщений: 8
По умолчанию перенес даных из нескольких листов в один лист

Мне надо если в листах магазин1, магазин2, магази3 есть Виды работ (4(D) колонка) и они не выполнены (колонка 7 (G)) то должны появиться в листе ИТОГ, а если стоит в колонке (7) дата выполнения она не должна появляться на листе ИТОГ, но должна появиться в листе ВЫПОЛНЕНО. Прикрепляю файл где все видно как должно быть , ОГРОМНАЯ ПРОСЬБА сделать хоть как формулами или макросом , если макросом то можно делать комментарий т.к. это пример ПОЖАЛУЙСТА ПОМОГИТЕ
Вложения
Тип файла: rar Вопрос.rar (8.5 Кб, 16 просмотров)
e_v_b вне форума Ответить с цитированием
Старый 07.09.2010, 11:17   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно так:
Код:
Sub Main()
    Dim ws As Worksheet: Application.ScreenUpdating = False
    Sheets("итог").Rows("11:" & Rows.Count).ClearContents
    Sheets("выполнено").Rows("11:" & Rows.Count).ClearContents
    For Each ws In Sheets
        If ws.Name Like "магазин*" Then
            With ws.Rows(10)
                .AutoFilter: .AutoFilter Field:=4, Criteria1:="<>"
                .AutoFilter Field:=7, Criteria1:="="
                ws.Rows("11:" & ws.UsedRange.Row + ws.UsedRange.Rows.Count).Copy _
                    Sheets("итог").Rows(Sheets("итог").Cells(Rows.Count, 1).End(xlUp).Row + 1)
                .AutoFilter Field:=7, Criteria1:="<>"
                ws.Rows("11:" & ws.UsedRange.Row + ws.UsedRange.Rows.Count).Copy _
                    Sheets("выполнено").Rows(Sheets("выполнено").Cells(Rows.Count, 1).End(xlUp).Row + 1)
                .AutoFilter
    End With: End If: Next
End Sub
Пример использования во вложении. Откройте файл и запустите макрос "Main".
Если так устраивает - добавлю комментарии.
Вложения
Тип файла: rar Ответ.rar (14.4 Кб, 33 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 13.09.2010, 07:40   #3
e_v_b
 
Регистрация: 02.09.2010
Сообщений: 8
По умолчанию

БОЛЬШОЕ СПАСИБО!!!!
e_v_b вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в один лист можно собрать данные с других листов Lis000iq Microsoft Office Excel 12 24.08.2015 12:51
Перенес данных с листа на лист KorBez Microsoft Office Excel 5 04.09.2010 11:13
перенос данных из нескольких листов в 1 Екатрина Microsoft Office Excel 5 17.12.2009 18:28
печать нескольких листов checkbox Microsoft Office Excel 2 16.01.2008 00:50