Всем привет. Может кто поможет, не могу разобраться, есть макрос:
Код |
---|
Sub Обновить_сводную() Dim Sht As Worksheet Dim Wb As Workbook Dim i As Long Dim iLastRow_B As Long Dim iLastRow_Ai As Long With Application .ScreenUpdating = False .DisplayAlerts = False .Calculation = xlCalculationManual Set Wb = ThisWorkbook Sheets("Сводная").Cells.Clear 'очищаем лист "Сводная" Sheets("Сводная").Range("A1") = "Оценка" Sheets("Сводная").Range("B1") = "ФИО сотрудника" Sheets("Сводная").Range("C1") = "Старший" Sheets("Сводная").Range("D1") = "Группа" Sheets("Сводная").Range("E1") = "Дата оценки" Sheets("Сводная").Range("F1") = "Номер звонка" Sheets("Сводная").Range("G1") = "Пометка на звонок" Sheets("Сводная").Range("H1") = "Проф. Навыки" Sheets("Сводная").Range("I1") = "Навыки ведения диалога" Sheets("Сводная").Range("J1") = "Общая оценка за звонок" Sheets("Сводная").Range("K1") = "Тематика (1 уровень)" Sheets("Сводная").Range("L1") = "Тематика (2 уровень)" Sheets("Сводная").Range("M1") = "Тематика (3 уровень)" Sheets("Сводная").Range("N1") = "Основная зона роста (1-ый уровень)" Sheets("Сводная").Range("O1") = "Основная зона роста (2-ый уровень)" Sheets("Сводная").Range("P1") = "Доп. зона роста (1-ый уровень)" Sheets("Сводная").Range("Q1") = "Доп. зона роста (2-ый уровень)" Sheets("Сводная").Range("R1") = "Вес нарушения Основной зоны" Sheets("Сводная").Range("S1") = "Вес нарушения доп. Зоны" Sheets("Сводная").Range("T1") = "ст" Sheets("Сводная").Range("U1") = "Неделя" Sheets("Сводная").Range("V1") = "Месяц" Sheets("Сводная").Range("W1") = "Год" Sheets("Сводная").Range("X1") = "Ошибка" Sheets("Сводная").Range("Y1") = "Отдел" Sheets("Сводная").Range("Z1") = "Кодировка" i = 1 Set Sht = Wb.Sheets(i) For Each Sht In Worksheets If Sht.Name <> "Сводная" Then iLastRow_B = Cells(Rows.Count, 2).End(xlUp).Row iLastRow_Ai = Wb.Sheets(i).Cells(Rows.Count, 1).End(xlUp).Row Wb.Sheets(i).Range("A2:Z" & iLastRow_Ai).Copy Cells(iLastRow_B + 1, 1) End If i = i + 1 Next .ScreenUpdating = True .DisplayAlerts = True .Calculation = xlCalculationAutomatic End With End Sub |
Макрос собирает с нескольких листов данные в один лист. Справляется отлично, но как сделать две доработки:
1) Собирать данные не со всех листов в книге, а только с определенных, например: в книге 5 листов, с названиями Лист1, Лист2, Лист3, Лист4, но нужно собрать данные только с Лист1 и Лист2.
2) Чтобы в Сводной, т.е. на листе куда консолидируется информация, информация, собрана в предыдущие разы, не очищалась, а добавлялась новая, которая была добавлена на листы, с которых собираются данные, например, через проверку уникальности значений по строке.
Может кто знает как реализовать.