[英]Excel VBA - Dynamic setting of Calculated Item in Pivot table
我有一個使用計算項目的數據透視表。 計算項目的“我的輸入”會動態更改。 我一直在要求用戶使用InputBox方法輸入公式。 但是現在,我想將其設置為動態,但無法使其正常工作。 這是我的數據
Category Checks
18-20 Yes
18-20 Yes
16-18 Yes
16-18 Yes
20-24 Yes
24-30 Yes
30-35 Yes
35-40 Yes
14-16 Yes
這是我要查找的數據透視表的輸出,
Column Labels
Less than 20 More than 20 Grand Total
Count of Checks 5 4 9
小於20和大於20是計算項。 最初,我像這樣對公式進行硬編碼-
ActiveSheet.PivotTables("PivotTable5").PivotFields("Category").CalculatedItems. _
Add "Less than 20", "='16-18' +'18-20'", True
ActiveSheet.PivotTables("PivotTable5").PivotFields("Category").CalculatedItems. _
Add "More than 20", "='20-24' +'24-30' +'30-35' +'35-40'", True
當所有這些類別(“ 16-18”,“ 18-20”等)都存在時,沒有問題。 但是某些工作表中不存在此功能。
然后,我要求用戶通過設置字符串變量來輸入公式。 但是現在,我希望它更具動態性,並且公式可以自動發生。 請幫助我。 我花了2天的時間嘗試了很多,但是我無法理解邏輯。
我現在可以在列類別中獲取唯一值。 現在,如何在公式中設置它
colmz = WorksheetFunction.Match("Category", Sheets(Ssheet1").Rows(1), 0)
Nrowz = ActiveSheet.Cells(Rows.Count, colmz).End(xlUp).Row
B = GetColumnName(colmz)
For i = 2 To Nrowz
CellVal = Sheets("Sheet1").Range(B & i).Value
On Error Resume Next
Col.Add CellVal, Chr(34) & CellVal & Chr(34)
On Error GoTo 0
Next i
For Each itm In Col
Debug.Print itm
Next
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.