У меня есть сводная таблица, которая автоматически обновляется каждый раз, когда я обновляю набор данных для нашей базы данных mySQL в нашем офисе.
Мой файл Excel запускает запрос к базе данных mySQL и возвращает таблицу данных, и у меня естьдве сводные таблицы на отдельных листах, которые будут автоматически обновляться при каждом выполнении.Мой код для этого приведен ниже:
Sub UpdatePivots()
' This sub is intended to update all pivot charts in the by switching to the appropriate
' worksheet, locating the appropriate pivot table, and updating them.
Dim ws As Worksheet
Dim PT As PivotTable
For Each ws In ActiveWorkbook.Worksheets '<~~ Loop all worksheets in workbook
For Each PT In ws.PivotTables '<~~ Loop all pivot tables in worksheet
PT.PivotCache.Refresh
Next PT
Next ws
End Sub
Что я хочу сделать, чтобы рассчитать YIELD для некоторых полей в сводной таблице.В настоящее время таблица выглядит следующим образом:
Как вы можете видеть, я автоматически добавил в столбец "YIELD" и просто сделал:
=GETPIVOTDATA("Pass / Fail",$B$5,"Job ID","Job 1","Pass / Fail","Pass")/GETPIVOTDATA("Pass / Fail",$B$5,"Job ID","Job 1")
В идеале я хотел бы добавить в свой макрос UpdatePivots () автоматический расчет доходности (Pass / Grand Total) для каждой из перечисленных строк.
Размер этой таблицы может изменяться - иногда я просматриваю только 3 работы за данный месяц (как, например, сентябрь), в других случаях мой босс хочет, чтобы я составлял этот отчет за весь год, когда яможет иметь более 100 рабочих мест.Поэтому я хотел бы использовать псевдокод, который может выглядеть следующим образом:
Cell F6.Text = YIELD
<Apply Pivot Table Formatting to Cell F6>
for each row in pivottable {
Cell Fx.Value = Pass / Grand Total
}
Кто-нибудь может мне помочь сделать это?Я пытался провести мозговой штурм на бумаге, но даже не знаю, с чего начать.
PS - Как мне получить сводную таблицу, чтобы остановить это ужасное форматирование и сохранить серые ячейки?Я хочу со временем добавить в чарты.
Спасибо !!