Excel 当循环通过数据透视表时,数组仍在捕获过滤后的数据
我有一个pivot表,可以循环使用,并根据表中的信息填充一个区域。我的问题是数组仍在收集过滤掉的数据。有办法解决这个问题吗 下面是代码,让我知道我在做什么Excel 当循环通过数据透视表时,数组仍在捕获过滤后的数据,excel,excel-2010,vba,Excel,Excel 2010,Vba,我有一个pivot表,可以循环使用,并根据表中的信息填充一个区域。我的问题是数组仍在收集过滤掉的数据。有办法解决这个问题吗 下面是代码,让我知道我在做什么 Do While count < managerCount – 1 MGR = CStr(ActiveSheet.PivotTables(1).RowFields(1).PivotItems(MGRCount + 1).Value) late = ActiveSheet.PivotTables(1).GetPivotData("Co
Do While count < managerCount – 1
MGR = CStr(ActiveSheet.PivotTables(1).RowFields(1).PivotItems(MGRCount + 1).Value)
late = ActiveSheet.PivotTables(1).GetPivotData("Count of Action Item ID", "Mgr", MGR, "Status to Plan", "Late").Value
If late = "" Then
late = 0
End If
On Error GoTo ErrHandler
lateProjects(count, 0) = MGR
lateProjects(count, 1) = late
MGRCount = MGRCount + 1
count = count + 1
Loop
Do While count
感谢您提供的帮助。数据透视项集合包含所有项目,即使它们未显示。但是,您可以检查
.Visible
以下是完整的代码:
Dim piv As PivotTable
Dim pivItem As PivotItem
Set piv = ActiveSheet.PivotTables(1)
Do While count < managerCount - 1
Set pivItem = piv.RowFields(1).PivotItems(MGRCount + 1)
If pivItem.Visible Then
MGR = CStr(pivItem.Value)
late = piv.GetPivotData("Count of Action Item ID", "Mgr", MGR, "Status to Plan", "Late").Value
If late = "" Then
late = 0
End If
On Error GoTo ErrHandler
lateProjects(count, 0) = MGR
lateProjects(count, 1) = late
MGRCount = MGRCount + 1
End If
count = count + 1
Loop
Dim piv作为数据透视表
将pivItem设置为数据透视项
设置piv=ActiveSheet.PivotTables(1)
当计数<管理计数-1时执行
设置pivItem=piv.RowFields(1).数据透视项(MGRCount+1)
如果pivItem可见,则
MGR=CStr(pivItem.值)
late=piv.GetPivotData(“操作项ID计数”、“管理者”、“管理者”、“计划状态”、“延迟”)。值
如果迟到,则
迟到=0
如果结束
关于错误转到错误处理程序
延迟项目(计数,0)=经理
延迟项目(计数,1)=延迟
MGRCount=MGRCount+1
如果结束
计数=计数+1
环
或者更确切地说,当再次单步执行代码时,它看起来仍然在收集一些过滤后的数据(visible属性仍然显示为true)您是使用pivot功能进行过滤,还是只是隐藏行/列?很抱歉,响应太晚,本来应该进行过滤的,但最终我只是包含了这些值,然后给它们分配了一个零值,而不是忽略任何值为零的内容,这并没有很好地解决问题。