Я хотел бы создать сводную таблицу, которая может быть автоматически обновлена, выбрав лист, на котором будет информация. У меня есть 40 листов изо-отформатирован, и я попытался это:Сводная таблица - VBA
Sub tcd()
Dim CR As String
CR = InputBox("Num of CR")
Sheets(CR).Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
CR & "!" & Sheets(CR).Range("A1").CurrentRegion.Address(ReferenceStyle:=xlR1C1), _
Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:="Feuil1!R2C2", TableName:="Sum", _
DefaultVersion:=xlPivotTableVersion14
Sheets("Feuil1").Select
Cells(2, 2).Select
Range("C8").Select
With ActiveSheet.PivotTables("Sum").PivotFields(_
"N1")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("Sum").AddDataField ActiveSheet. _
PivotTables("Sum").PivotFields("N2"), _
"Num of N2", xlCount
Sheets("SMM").Select
End Sub
К сожалению, это не похоже на работу, и я не могу выяснить, почему и, таким образом, как решить эту проблему.
EDIT1: Он дает мне ошибку «5»: Неверный вызов или аргумент процедуры.
EDIT 2: В отношении данных
Данные содержат 6 столбцов на самом деле, но только первые 3 имеют важное значение. Я не могу предсказать количество строк, потому что это зависит от используемого листа.
Если у вас есть идеи? Я благодарю вас за ваши ответы!
Сообщить об ошибке? – User632716
в какой строке вы получаете эту ошибку? –
@ Laurent Magon попробуйте фрагмент кода, который у меня есть в моем ответе ниже, дайте мне знать, если это то, что вы имели в виду. –