7

新しく作成されたピボット テーブルですべてのアイテムの選択を解除して、戻って 1 つまたは 2 つのアイテムのみを選択できるようにする方法を簡単に説明できますか? 私は次のことを試しました:

.PivotItems("(Select All)").Visible = False

ありがとう。

4

5 に答える 5

10

これはおそらくあなたが望むものに到達できる最も近いものです:

Dim i As Long
.PivotItems(1).Visible = True
For i = 2 To .PivotItems.Count
    .PivotItems(i).Visible = False
Next

これにより、最初のオプションが唯一の選択されたオプションになります(これがピボットフィールドを指すwith内にあると仮定します)。事前に必要なものがわかっている場合は、それに応じて変更してください。

于 2012-12-07T17:53:22.320 に答える
2

各データ項目をループすると時間がかかることがわかりました。すべての項目をループせずにピボット内の 1 つの項目をフィルター処理する場合にできることは、次のコードを使用することです。

ActiveSheet.PivotTables("Your Pivot Name").PivotFields("Your Field Name").ClearAllFilters
ActiveSheet.PivotTables("Your Pivot Name").PivotFields("Your Field Name").PivotFilters.Add _
    Type:=xlCaptionEquals, Value1:="Your string here" 

これは基本的にラベルフィルターですが、私にとってはうまくいきました。

于 2015-01-26T14:27:17.110 に答える
1

以下をチェックしてください。特定のフィールド名のデータを選択します。デフォルトでは、少なくとも1つのアイテムを選択する必要があることに注意してください。また、アイテムを非表示にする場合は、ピボットテーブルフィールド内の連続するアイテムのみを非表示にできることを忘れないでください。おそらく、ページの読み込み時、ワークシートのオープン時、またはその他のサブトリガーのいずれかで、特定のフィールドに基づいて選択する特定のアイテムを選択できます。次に、コードが他の処理を続行できるようにします。

Sub specificItemsField()
Dim pf As PivotField
Dim pi As PivotItem
Dim strPVField As String

strPVField = "Field Name"
Set pt = ActiveSheet.PivotTables(1)
Set pf = pt.PivotFields(strPVField)
Application.ScreenUpdating = False
Application.DisplayAlerts = False

On Error Resume Next
    pf.AutoSort xlManual, pf.SourceName
     For Each pi In pf.PivotItems
         pi.Visible = True
     Next pi
    pf.AutoSort xlAscending, pf.SourceName

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub       
于 2012-12-07T17:55:56.487 に答える
0

これは、カスタム フィルターの選択方法です。二重ループのため、遅くなる可能性があります。

Dim toSelect(1 To 3) As String

toSelect(1) = "item1"
toSelect(2) = "item2"
toSelect(3) = "item3"


For Each pvItem In objField.PivotItems
    For Each st In toSelect
        If pvItem.Value = st Then
            pvItem.Visible = True
            Exit For
        Else
            pvItem.Visible = False
        End If
    Next
Next
于 2014-03-27T09:42:49.930 に答える