1
希望這將是一件容易的事情,但我無法找到此特定場景的答案。我使用下面的代碼來隱藏和取消隱藏基於用戶選擇的數據透視表字段。變量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
問題是在行隱藏透視字段。事情是,代碼執行得很好。沒有錯誤,沒有任何東西。但是,它實際上從未隱藏透視圖字段。它仍然存在,好像什麼都沒有發生。我遍歷代碼,並且該行肯定會執行,它對數據透視表沒有任何影響,我不明白爲什麼。
將旋轉字段的方向設置爲xlDataField
的行具有所需的效果。我不確定這裏發生了什麼。
Anythoughts?
這行代碼看起來像應該工作,假設'fieldName'是有效的。如果它無效,你會得到一個錯誤,除非你在上游某處獲得了「On Error Resume Next」。你不這樣做? –
沒有。沒有'On Error'語句。而且'fieldName'肯定是有效的,因爲'... Orientation = xlDataField'語句中相同的'fieldName'變量可以很好地工作。因此我的困惑。 –
我還有一個想法。將一個數據透視表的'Orientation'改爲'xlDataField'會改變它的名字,例如從「我的數據」改爲「我的數據計數」。所以如果你想設置一個隱藏的數據字段,你可能實際上正在對另一個數據字段進行操作。 –