[英]Loop through Access database and perform basic operations using Excel VBA
[英]Excel VBA Loop Through a PivotTable and perform calculation
我有一個數據透視表,每次將數據集刷新到辦公室中的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()宏中,以自動計算列出的每一行的產量(通過/總計)。
該表的大小可能會發生變化-有時我在給定的月份(例如到目前為止的9月)只查看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-如何獲取數據透視表以停止該可怕的格式並保持灰色單元格? 我想最終添加圖表。
謝謝!!
以下代碼滿足了我的需求:
Sub CalculateYield()
k = Cells(Rows.Count, 2).End(xlUp).Row
For r = 9 To k
Cells(r, 6).Formula = "=" & Cells(r, 3).Address(False, False) & "/" & Cells(r, 5).Address(False, False)
Next
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.