Tag: pivotitem

select/取消select所有数据透视项目

我有一个数据透视表,我试图根据数组中的值来select某些数据透视表项目。 我需要这个过程更快,所以我已经尝试使用Application.Calculation = xlCalculationManual和PivotTables.ManualUpdate = True ,但似乎都没有工作; 数据透视表仍会重新计算每次更改数据透视表项目时。 有什么我可以做不同的方式来防止Excel每次重新计算? 还是有办法一次取消所有的项目(而不是单独),使过程更快? 这是我的代码: Application.Calculation = xlCalculationManual 'code to fill array with list of companies goes here Dim PT As Excel.PivotTable Set PT = Sheets("LE Pivot Table").PivotTables("PivotTable1") Sheets("LE Pivot Table").PivotTables("PivotTable1").ManualUpdate = True Dim pivItem As PivotItem 'compare pivot items to array. 'If pivot item matches an element of […]

多个数据字段时,Excel PivotItem.DataRange由1closures

我刚刚遇到了一个我以前从未注意到的数据透视表VBA问题。 当数据透视表有多个数据字段时,则引用PivotItem.DataRange返回一个范围,该范围从应该在的位置向下移动一行。 在下面你可以看到地址是closures的,并且select在数据透视表下面 – 再次closures一行: 如果数据透视表只有一个数据字段,例如,如果我摆脱了上面的“总和”,问题就消失了。 我在这里发现了Macro Marc的一个引用 ,但在networking上没有其他的东西。 有没有人有这方面的知识,例如,它是多么一致,最好的方式来编码,等等? 我可以想出几个办法来检查这个,但是y! 解决方法: 在我非常有限的testing中,似乎没有类似的PivotFields问题。 所以我最好的想法是比较枢轴字段的第一行和第一个枢轴项目的第一行。 但是,我不确定我的“第一”概念总是和Excel一样。 反正我正在想这样的事情: BugCorrection = PivotTable.VisibleFields(1).DataRange.Row – _ PivotTable.VisibleFields(1).VisibleItems(1).DataRange.Row

无法获得pivotitem类的可见属性

我有两套代码。 出于某种原因,在第一个我得到一个错误 ,而在第二个我不知道 。 1: Dim pi As PivotItem Dim pf As PivotField Set pf = Sheets("Afname per school").PivotTables("Draaitabel3").PivotFields("school") For Each pi In pf.PivotItems If pi = "(leeg)" Then pi.Visible = False Else pi.Visible = True 'ERROR HERE End If Next pi 2: Dim pi As PivotItem Dim pf As PivotField Set pf = Sheets("Afname […]