Я записал макрос, чтобы создать сводную таблицу и последующую диаграмму в VBA. Он работает как шарм, совсем не так, как мне это нужно. Проблема в том, что я хочу иметь возможность запускать код и создать таблицу на листе, который еще не существует. В основном я буду запускать это с помощью кнопки в меню, и она должна создать таблицу и диаграмму на новой странице. Без дальнейших прощайте:VBA Pivot Table On New Sheet
Sub Macro13()
' Macro13 Macro
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Main Budget Sheet!R2C1:R88C10", Version:=xlPivotTableVersion14). _
CreatePivotTable TableDestination:="Sheet21!R1C1", TableName:= _
"PivotTable12", DefaultVersion:=xlPivotTableVersion14
Sheets("Sheet21").Select
Cells(1, 1).Select
With ActiveSheet.PivotTables("PivotTable12").PivotFields("Category")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable12").AddDataField ActiveSheet.PivotTables(_
"PivotTable12").PivotFields("Labor"), "Sum of Labor", xlSum
ActiveSheet.PivotTables("PivotTable12").AddDataField ActiveSheet.PivotTables(_
"PivotTable12").PivotFields("Material"), "Sum of Material", xlSum
ActiveSheet.Shapes.AddChart.Select
End Sub
Если я помещал это в простой английском языке, я предположил бы, что это значит ... Выбрать данные в основном бюджете листе затем создать сводную таблицу на лист 21 имени таблицы 12 шарнирных ... Затем выберите лист 21 и выберите поля для сводной таблицы ... Наконец, добавьте диаграмму из этих данных ...
Я думаю, что мне нужно просто определить общие имена для каждой из этих вещей (помимо источника данные).
Кроме того, в настоящее время он будет работать только один раз и только в том случае, если этот лист уже существует, по-видимому, потому, что он не может сделать сводную таблицу с одинаковым именем, поэтому, если она может неоднократно просто создавать одну и ту же таблицу на разных листах, я мог бы умереть счастливым.
Как вы можете видеть, я пробовал это достаточно, чтобы создать 21 лист: /, поэтому усилие есть, но, поскольку определение состояния безумия «Эйнштейна» говорит: «Безумие пытается одно и то же и ожидает другого результата». В настоящее время у меня заканчиваются новые вещи, чтобы попробовать.
Вы пробовали 'Sheets.Add' в самом начале? – pnuts
Я действительно попробовал это, и пока он создал новый лист, таблица не попадает в него. –