我有一个问题是在excel文件上为1个数据透视表执行循环:
我只想将TreeView
从model2
更改为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
任何人都可以帮助解决这个问题吗? 提前致谢
答案 0 :(得分:2)
尝试以下代码。
注意:我只调试了$db
部分,而不是公式。
$db=database::newinstance();
$db->conn();
$db->test();