Я хотел бы создать очень простую сводную таблицу с помощью vba, но я продолжаю получать ошибки с моим сводным кешем - PullRequest
0 голосов
/ 06 августа 2020

Я собрал несколько VBA для сводной таблицы, чтобы просто указать, сколько CN есть на человека из исходной таблицы. Возможно, есть более простой способ сделать это, но у меня должен быть код, поскольку я планирую добавить этот код в макрос. Я добавил фотографию своей исходной таблицы, а также то, на что я пытаюсь сделать свою сводную таблицу похожей. Я получаю сообщение об ошибке в строке [With ws.PivotTables ("PivotTable1"). PivotFields ("Type")]: Невозможно получить свойство PivotFields класса PivotTable. Есть идеи?

Пример фотографии таблицы / сводной таблицы Спасибо!

Sub PivotTableTest2 ()

Dim ws As Worksheet
Dim wb As Workbook
Dim pc As PivotCache
Dim pt As PivotTable

Sheets("Supplier Quality").Activate

Set ws = ActiveSheet
Set wb = ThisWorkbook

Set pc = wb.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=ws.Range("Table2"))

Set pt = ws.PivotTables.Add(PivotCache:=pc, tabledestination:=ws.Range("P1"), TableName:="PivotTable1")

'

With ws.PivotTables("PivotTable1").PivotFields("Type")
    .Orientation = xlRowField
    .Position = 1
End With
With ws.PivotTables("PivotTable1").PivotFields("Task Owner2")
    .Orientation = xlColumnField
    .Position = 1
End With
ws.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
    "PivotTable1").PivotFields("Type"), "Sum of Tasks Overdue", xlSum

End Sub

Ответы [ 2 ]

0 голосов
/ 07 августа 2020

Включите Macro Recorder, пролистайте шаги, которые вам нужно сделать, и выключите Macro Recorder. Тогда у вас будет весь необходимый код. Кроме того, просмотрите ссылки ниже. Это отличный ресурс по всем вопросам, связанным с Excel, включая работу со сводными таблицами.

https://www.contextures.com/pivottableindex.html

https://www.contextures.com/tiptech.html

0 голосов
/ 06 августа 2020

Если вы добавите Option Explicit в верхней части модуля, а затем go Debug / Compile, вы увидите, что компилятор не распознает ключевое слово xlPivotTableVersion6. Если вы его предоставите, аргумент Version для PivotCaches.Create должен быть частью перечисления XlPivotTableVersionList. Аргумент Version является необязательным, и я лично никогда его не предоставляю.

Option Явное выражение

Объявление переменных

Метод PivotCache.Create

Перечисление XlPivotTableVersionList

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...