Доброго времени суток Уважаемые! Подскажите пожалуйста как более правильнее будет создать итоговый список сотрудников за год? Список должен содержать всех работавших за год сотрудников, которые помесячно внесены на листах книги. Желательно чтобы он был сразу и отсортирован по алфавиту, но это не критично. Я сделал кривоватую выборку, вроде работает, но возможны дубли (выделено желтым). Это видимо от того, что нет проверки дублей уже введенных выше сотрудников... А также возможны видимо и пропуски некоторых сотрудников, так как нет проверки по всем массивам/листам. Короче коряво и не очень правильно/функционально. :-( Буду весьма признателен за подсказку как наиболее правильно сделать такую итоговую табличку сотрудников. Файл-образец прилагаю. Итоги собираются на листе "Итоги". Спасибо.
Доброго времени суток Уважаемые! Подскажите пожалуйста как более правильнее будет создать итоговый список сотрудников за год? Список должен содержать всех работавших за год сотрудников, которые помесячно внесены на листах книги. Желательно чтобы он был сразу и отсортирован по алфавиту, но это не критично. Я сделал кривоватую выборку, вроде работает, но возможны дубли (выделено желтым). Это видимо от того, что нет проверки дублей уже введенных выше сотрудников... А также возможны видимо и пропуски некоторых сотрудников, так как нет проверки по всем массивам/листам. Короче коряво и не очень правильно/функционально. :-( Буду весьма признателен за подсказку как наиболее правильно сделать такую итоговую табличку сотрудников. Файл-образец прилагаю. Итоги собираются на листе "Итоги". Спасибо.AlexMar
Правильнее 1. достаточно несложным скриптом. 2. (копия-вставка)*12 данные / удалить дубликаты 4. Объедняющий запрос через PowerQuery ( нужна эта надстройка и придется разметить данные как таблицу.)
Правильнее 1. достаточно несложным скриптом. 2. (копия-вставка)*12 данные / удалить дубликаты 4. Объедняющий запрос через PowerQuery ( нужна эта надстройка и придется разметить данные как таблицу.)bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Вторник, 10.01.2017, 10:17
bmv98rus, 1. Это для меня достаточно сложно, практически не выполнимо. 2. Я хоть и немного продвинутый, но только лишь пользователь... Не понял до конца мысль... 3. 4. Это тоже не совсем понятно, да и менять что либо в этой книге, кроме листа "Итоги" нельзя...
bmv98rus, 1. Это для меня достаточно сложно, практически не выполнимо. 2. Я хоть и немного продвинутый, но только лишь пользователь... Не понял до конца мысль... 3. 4. Это тоже не совсем понятно, да и менять что либо в этой книге, кроме листа "Итоги" нельзя... AlexMar
2. это ручная не автоматизированная работа по копированию и вставке данных на лист итоги последовательно один блок за другим. После использование встроеного инструмента удаление дубликатов.
Но это для разового заполнения подходит.
AlexMar,
2. это ручная не автоматизированная работа по копированию и вставке данных на лист итоги последовательно один блок за другим. После использование встроеного инструмента удаление дубликатов.
bmv98rus, Ну так-то да. У меня все же немного автоматизировано, но не все предусмотрено. Вот и просил подсказать как изящнее и более правильно реализовать автоматически это дело. А за подсказку как удалить дубликаты спасибо, этого не знал. Просто там же кроме прочего куча цифирь еще имеется, я их просто убрал, так как там заполнение организовано, хоть и может не так изящно как можно, но корректно и все работает, а вот с составлением списка сотрудников на основе 12 месяцев не все так хорошо. Спасибо за помощь.
bmv98rus, Ну так-то да. У меня все же немного автоматизировано, но не все предусмотрено. Вот и просил подсказать как изящнее и более правильно реализовать автоматически это дело. А за подсказку как удалить дубликаты спасибо, этого не знал. Просто там же кроме прочего куча цифирь еще имеется, я их просто убрал, так как там заполнение организовано, хоть и может не так изящно как можно, но корректно и все работает, а вот с составлением списка сотрудников на основе 12 месяцев не все так хорошо. Спасибо за помощь.AlexMar
Sub ConsolidatedList() On Error GoTo err1 Application.ScreenUpdating = False With ActiveWorkbook.Worksheets("Èòîãè") .Cells(5, 1).Resize(.UsedRange.Rows.Count, 2).ClearContents Set DistCell = .Cells(1, 2).End(xlDown) For Each MonthSH In ActiveWorkbook.Worksheets If MonthSH.Name <> .Name Then r = 4 If UCase(MonthSH.Range("b5").End(xlDown).Value) = "ИТОГО" Then r = 5 MonthSH.Range("b5").Resize(MonthSH.Range("b5").End(xlDown).Row - r, 1).Copy DistCell.Offset(1, 0).PasteSpecial _ Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Set DistCell = DistCell.Offset(1, 0).End(xlDown) End If Next .Cells(4, 1).Resize(.Cells(4, 2).End(xlDown).Row, 2).RemoveDuplicates Columns:=Array(1, 2), _ Header:=xlYes End With err1: Application.ScreenUpdating = True End Sub
[/vba]
Без сортировки , удаления дыр и нумерации. [vba]
Код
Sub ConsolidatedList() On Error GoTo err1 Application.ScreenUpdating = False With ActiveWorkbook.Worksheets("Èòîãè") .Cells(5, 1).Resize(.UsedRange.Rows.Count, 2).ClearContents Set DistCell = .Cells(1, 2).End(xlDown) For Each MonthSH In ActiveWorkbook.Worksheets If MonthSH.Name <> .Name Then r = 4 If UCase(MonthSH.Range("b5").End(xlDown).Value) = "ИТОГО" Then r = 5 MonthSH.Range("b5").Resize(MonthSH.Range("b5").End(xlDown).Row - r, 1).Copy DistCell.Offset(1, 0).PasteSpecial _ Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Set DistCell = DistCell.Offset(1, 0).End(xlDown) End If Next .Cells(4, 1).Resize(.Cells(4, 2).End(xlDown).Row, 2).RemoveDuplicates Columns:=Array(1, 2), _ Header:=xlYes End With err1: Application.ScreenUpdating = True End Sub
Спасибо, пытаюсь теперь разобраться. С макросами вообще дел не имел, хотя слово знаю. Создал макрос, нажал выполнить и тишина, нет, не мое... Консолидация (а дальше сводная таблица) более приземленно для меня. Пытаюсь понять принципы и использовать. Еще раз спасибо.
Спасибо, пытаюсь теперь разобраться. С макросами вообще дел не имел, хотя слово знаю. Создал макрос, нажал выполнить и тишина, нет, не мое... Консолидация (а дальше сводная таблица) более приземленно для меня. Пытаюсь понять принципы и использовать. Еще раз спасибо. AlexMar