Я в настоящее время имеют таблицы Excel, которая имеет некоторые заголовки, каксводную таблицу Excel Macro
Pers.No. Employee name Hours etc etc
12345 bobby 5.5
12346 jones 6
12345 bobby 7.5
Однако в моей сводной таблице Я заинтересован только в Pers.No. и Часы будут доступны таким образом. К сожалению, программа, в которой я получаю исходные данные, дает количество человек несколько раз и отображает работу, которую они выполняют каждый день. Таким образом, было бы несколько записей сотрудника 12345
, но я хочу показать это раз, очевидно, в сводной таблице, и суммировать все часы, назначенные этому 12345
. Конечно, это можно сделать вручную не слишком ужасно, но мне нужно сделать макрос, чтобы другие могли его использовать.
Person.No. Hours
12345 40
Моя попытка
Sub Macro()
Dim objTable As PivotTable, objField As PivotField
' Select the sheet and first cell of the table that contains the data.
ActiveWorkbook.Sheets("May20").Select
Range("A1").Select
' Create the PivotTable object based on the Employee data on Sheet1.
Set objTable = Sheet1.PivotTableWizard
' Specify row and column fields.
Set objField = objTable.PivotFields("Pers.No.")
objField.Orientation = xlRowField
' Specify a data field with its summary
' function and format.
Set objField = objTable.PivotFields("Hours")
objField.Orientation = xlDataField
objField.Function = xlSum
objField.NumberFormat = "$ #,##0"
' Preview the new PivotTable report.
ActiveSheet.PrintPreview
' Prompt the user whether to delete the PivotTable.
Application.DisplayAlerts = False
If MsgBox("Delete the PivotTable?", vbYesNo) = vbYes Then
ActiveSheet.Delete
End If
Application.DisplayAlerts = True
End Sub
Однако я не уверен, если я делаю это правильный путь, как я получаю ошибку метода 'pivottablewizard' of object '_worksheet' failed
на линии
Set objTable = Sheet1.PivotTableWizard
В идеале Я хочу, чтобы он создал новый лист 1 с его сводной таблицей
------------ EDIT ----------------------------
Учитывая это с кучей больше записей, я хотел бы создать сводную таблицу, которая выглядит как
Employee ID Hours
12345 90
123423 100
Теперь файл Excel имеет несколько записей для сотрудников с тем же ID, так что нужно суммировать все эти часы в сводная таблица
Наименее мы надеемся, будет запрошено обратной связи на ответ или наблюдение предоставляемых нами. Обучение никогда не заканчивается, и мы надеемся, что ваши отзывы предоставят нам возможность доработать наш анализ. Это не касается точек ответа, а только для подтверждения нашего анализа. Благодарю. – skkakkar
Извините. Забыл (а) об этом, мои извинения –