Промежуточный итог Excel VBA не является промежуточным итогом
Я пытаюсь использовать функцию промежуточного итога в VBA в Microsoft Office Excel 2013/2016. Я использую следующий код:
'Copies mostly formatted Report to new Sheet for Report
'Sheets("Report").Select
Sheets("Report").Copy After:=Sheets(3)
Worksheets(4).Select
Worksheets(4).Name = "Report2"
'Modifies Date column to count days worked instead
Range("D1").FormulaR1C1 = "Days Worked"
Range("D2").Select
Range("D2").NumberFormat = "0"
Range("D2").FormulaR1C1 = "1"
Selection.AutoFill Destination:=Range("D2:D2500")
'Generates subtotals for Days Worked, Calls Taken, Call time, nextcallwaiting time, calls held, and time calls on hold
Worksheets(4).Activate
Range("E1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, -1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Delete
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Subtotal GroupBy:=3, Function:=xlSum, TotalList:=Array(4, 6, 8, 10 _
, 12, 14), Replace:=True, PageBreaks:=False, SummaryBelowData:=True
'ungroups these rows to allow easy data manipulation
Range("C1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Activate
Selection.Rows.Ungroup
Selection.Rows.Ungroup '
Изображение с ошибочным результатом (не ожидается) включено. Я ожидаю, что функция промежуточных итогов создаст промежуточные итоги.... может быть, она работает слишком быстро, чтобы правильно найти и добавить статистику по тем же агентам вместе?
Я ожидаю, что он будет суммировать столбцы в прикрепленном порядке (см. Столбец "Отработанные дни". Если агент работал более одного дня, он имеет несколько строк "Отработано 1 день", но не объединял их во время операции промежуточного итога), но он не суммирует столбцы, как функция Subtotal. Что я делаю неправильно? Какой обходной путь для этой ошибки?
Колонка B: руководитель агента в C
-Колонна C: агент (сотрудник колл-центра)
-Колонна D: Отработанные дни (Сколько дней они работали на прошлой неделе?
-Колонна E: Логин (Логин сотрудника; примеры приведены на скриншоте)
-Колонна F: Звонки обработаны (сколько звонков они приняли)
-Колонна G: Среднее время, потраченное на вызов [ЧЧ]:MM: формат SS
-Колонна H: Общее время на вызовы [ЧЧ]:MM: формат SS
-Колонна I: время в формате [ЧЧ]: ММ: СС
-Колонна J: время в формате [ЧЧ]: ММ: СС
-Колонна K: столбец изображен позже (намеренно пустым)
РЕДАКТИРОВАТЬ: Это было решено. Для использования промежуточного итога VBA необходимо сгруппировать свой разделяющий термин / сущность (в данном случае, имя агента). Итак, спускаясь вниз по столбцу, вы должны отсортировать наибольшие> наименьшие, A>Z или что-то подобное, чтобы эти похожие записи были близки до выполнения промежуточного итогового VBA. Спасибо всем, кто занялся этим вопросом!