【发布时间】:2011-10-08 01:02:21
【问题描述】:
我一直在尝试让枢轴过滤器使用输入框工作。我从http://www.ozgrid.com/VBA/hide-pivot-fields.htm 窃取了大部分代码,并一直应用到我的电子表格中,并不断收到我无法弄清楚的类型不匹配错误。该示例是为数字构建的,我需要对文本进行过滤。
错误查找器在 Evaluate 函数上停止,但两个变量都定义为文本,所以我认为它一定是 Org 变量..
Sub HideByCriteria()
Dim pt As PivotTable, pi As PivotItem
Dim Org As String
Dim strCri As String
Dim bHide As Boolean
Dim xlCalc As XlCalculation
Set pt = Sheets("Req Posting Status").PivotTables("PivotTable1")
strCri = InputBox("Enter Organization" _
& Chr(13) & "Valid Criteria Examples:" _
& Chr(13) & "HCS-CT for all HCS-CT orgs" _
& Chr(13) & "or CKS for any org that contains CKS", "HIDE AGE")
If strCri = vbNullString Then Exit Sub
strCri = Trim(strCri)
pt.ManualUpdate = True
With Application
xlCalc = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
'On Error GoTo NonValidCriteria:
For Each pi In pt.PivotFields("Organization").PivotItems
Org = pi
bHide = Evaluate(Org & strCri)
pi.Visible = bHide
Next pi
pt.ManualUpdate = False
With Application
.Calculation = xlCalc
.ScreenUpdating = True
End With
Exit Sub
【问题讨论】:
标签: excel filtering pivot-table type-mismatch vba