在循环中更新表时VBA PivotTable错误

时间:2017-03-16 18:47:42

标签: excel vba pivot-table

我有一个问题是在excel文件上为1个数据透视表执行循环: 我只想将TreeViewmodel2更改为IJ

CV

这个循环在第一个循环中运行得很好,但是当它启动第二个循环For i = 7 To 11 ActiveSheet.PivotTables("Tabela dinâmica1").PivotFields("MODEL2").CurrentPage _ = "(All)" With ActiveSheet.PivotTables("Tabela dinâmica1").PivotFields("MODEL2") .PivotItems("CV").Visible = False .PivotItems("IJ").Visible = True .PivotItems("(blank)").Visible = False End With cel4 = "AV" & i cel3 = "AX" & i Worksheets("DDTZ C").Range("AZ" & i).Formula = "=Iferror(IF(" & cel4 & "="""","""",VLookup(" & cel3 & ", AT:AV, 3, False)),"""")" ActiveSheet.PivotTables("Tabela dinâmica1").PivotFields("MODEL2").CurrentPage _ = "(All)" With ActiveSheet.PivotTables("Tabela dinâmica1").PivotFields("MODEL2") .PivotItems("CV").Visible = True .PivotItems("IJ").Visible = False .PivotItems("(blank)").Visible = False End With Worksheets("DDTZ C").Range("BA" & i).Value = "=Iferror(IF(" & cel4 & "="""","""",VLookup(" & cel3 & ", AT:AV, 3, False)),"""")" Next i 时,出现错误,我检查了脚本,问题与后面的部分有关:

i = 8

我无法理解为什么我遇到问题,因为它在第一个循环 ActiveSheet.PivotTables("Tabela dinâmica1").PivotFields("MODEL2").CurrentPage _ = "(All)" With ActiveSheet.PivotTables("Tabela dinâmica1").PivotFields("MODEL2") .PivotItems("CV").Visible = False .PivotItems("IJ").Visible = True .PivotItems("(blank)").Visible = False End With

上工作正常

任何人都可以帮助解决这个问题吗? 提前致谢

1 个答案:

答案 0 :(得分:2)

尝试以下代码。

注意:我只调试了$db部分,而不是公式。

$db=database::newinstance();
$db->conn();
$db->test();