Vba 无法将透视字段设置为隐藏
希望这将是一个简单的问题,但我找不到这个特定场景的答案。我使用以下代码根据用户选择隐藏和取消隐藏透视字段。变量Vba 无法将透视字段设置为隐藏,vba,excel,Vba,Excel,希望这将是一个简单的问题,但我找不到这个特定场景的答案。我使用以下代码根据用户选择隐藏和取消隐藏透视字段。变量fieldShow是一个布尔值,如果用户希望查看该特定字段,则该布尔值为true;而fieldLastVal是一个布尔值,指示该字段当前是否显示 If fieldShow <> fieldLastVal Then If fieldShow Then With pt.PivotFields(fieldName) .Orientat
fieldShow
是一个布尔值,如果用户希望查看该特定字段,则该布尔值为true;而fieldLastVal
是一个布尔值,指示该字段当前是否显示
If fieldShow <> fieldLastVal Then
If fieldShow Then
With pt.PivotFields(fieldName)
.Orientation = xlDataField
.Function = xlSum
End With
Else
pt.PivotFields(fieldName).Orientation = xlHidden
End If
End If
fieldLastVal = fieldShow
如果fieldShow fieldLastVal,则
如果现场表演的话
带有数据透视字段(字段名)
.Orientation=xlDataField
.Function=xlSum
以
其他的
pt.PivotFields(fieldName).Orientation=xlHidden
如果结束
如果结束
fieldLastVal=fieldShow
问题在于隐藏透视字段。问题是,代码执行得很好。没有错误,什么都没有。但是,它实际上从未隐藏轴字段。它仍然在那里,好像什么事也没有发生。我仔细阅读了代码,这行代码肯定会执行,它对pivot表没有任何影响,我不明白为什么
将轴字段的方向设置为xlDataField
的行具有所需的效果。我真的不确定这里发生了什么
有什么想法吗?将透视字段的
方向更改为xlDataField
会更改其名称,例如,从“我的数据”更改为“我的数据计数”。因此,如果您试图将“我的数据计数”设置为“隐藏”,您可能实际上是在对“我的数据”执行操作。假设fieldName
有效,这行代码似乎应该可以工作。如果它无效,你会得到一个错误,除非你已经得到并且在错误上继续下一步。你不喜欢吗?不喜欢。错误时无,
语句。而fieldName
是绝对有效的,因为相同的fieldName
变量在…Orientation=xlDataField
语句中工作正常。因此我感到困惑。我还有一个想法。将透视字段的方向更改为xlDataField
会更改其名称,例如,从“我的数据”更改为“我的数据计数”。因此,如果您试图将一个数据字段设置为“隐藏”,那么您实际上可能正在对另一个字段执行操作。这正是问题所在。我知道这将是一个愚蠢的小事情,像我忽略了。如果你想把你的解释写在下面作为问题的答案,我会接受你的回答。谢谢很高兴听到这个消息!完成。