Кажется, я не могу понять, как заставить изменить заголовок моей сводной диаграммы и показать его.Псевдокод ниже:
Dim PCache As PivotCache
Dim PTable As PivotTable
Dim PRange As Range
Dim PChart As ChartObject
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row + 3
'Set data range
Set PRange = .Cells(1, 1).Resize(lastRow - 3, 11)
Set PCache = wb2.PivotCaches.Create _
(SourceType:=xlDatabase, SourceData:=PRange)
Set PTable = PCache.CreatePivotTable(TableDestination:=.Cells(lastRow, 6), _
TableName:="VarietyByTerritoryTable")
Это все работает как задумано.Переменная lastRow
является привередливой, но выполняет свою работу.Это все в блоке With
.После этого у меня есть код, который добавляет поля в таблицу PTable, но работает нормально, поэтому я решил пропустить.Теперь я создаю график.Обратите внимание, что на самом деле создание диаграммы работает нормально, я просто не могу отобразить заголовок.
Set PChart = wb2.Sheets(1).ChartObjects.Add(300, 200, 550, 200)
With PChart
.Chart.SetSourceData PTable.TableRange2
.Chart.ChartType = xlAreaStacked
.Name = "Territory"
.SetElement (msoElementChartTitleAboveChart)
.ChartTitle.Text = strVar & " in " & strTerr
End With
Ошибка отображается в строке .SetElement()
.Пара вопросов:
а) Кто-нибудь знает, как это исправить?Я думаю, это должно быть относительно просто, но я провел последние несколько часов, просматривая информацию в Интернете, и не мог найти много: /
b) что делают числа в .ChartObjects.Add(##, ##, ###, ##)
?Они меняют местоположение, которое я предполагаю.Имеют ли последние два значения размер диаграммы?
в) Можно ли сделать заголовок диаграммы именем из TableName в бите Set PTable = PCache.CreatePivotTable(TableDestination:=.Cells(lastRow, 6), _
TableName:="VarietyByTerritoryTable")
?Если да, могу ли я иметь пробелы в части TableName?(т.е. измените на TableName := "Variety By Territory"
)
d) тот же вопрос, но с PChart.Name
.Могу ли я сделать из этого заголовок, и если да, то должен ли я избегать пробелов?
Спасибо всем!