0

複数のピボット テーブルを含むダッシュボードを作成していますが、解決できない問題に遭遇しました。別のワークシートに存在するピボット テーブルへの直接参照を使用してすべてのデータが表示されるプライマリ ワークシートがあります。コンボボックスを使用して、ピボット テーブルからデータをフィルター処理しています。ピボット テーブルを含むワークシートでは VBA コードをマクロで動作させることができましたが、顧客が実際にフィルターを選択するプライマリ ページでは動作させることができません。問題が .CurrentPage 変数にあることがわかります。これを変更して正しくフィルタリングする方法がわかりません。以下は私が持っているコードです。コンボボックスはワークシート(「ダッシュボード」)にあり、PvtTblsはワークシート(「ピボットテーブル」)にあります。誰でもこれを機能させる方法を教えてもらえますか、

Sub Year_Change()
'
' Year_Change Macro
'
    Worksheets("Pivot Tables").PivotTables("Termination Index").PivotFields("Year").CurrentPage = (Range("I1"))
    Worksheets("Pivot Tables").PivotTables("Quality Index Top").PivotFields("Year").CurrentPage = (Range("I1"))
End Sub

どうぞよろしくお願いいたします。

4

1 に答える 1

0

CurrentPage の「ターゲット値」がコンボボックスではなくセル (つまり、Range("a1")) であるという違いで、問題を再現しようとしました。「.value」を追加するとうまくいきました。

Sub Year_Change()
Dim ws As Worksheet
    Worksheets("Pivot Tables").PivotTables("Pivottable1").PivotFields("Year").CurrentPage = (ActiveSheet.Range("A1").Value)
    Worksheets("Pivot Tables").PivotTables("Pivottable2").PivotFields("Year").CurrentPage = (ActiveSheet.Range("A1").Value)
End Sub

あなたの問題について: 使用しているコンボボックスについて詳しく教えてください。それは適切なactiveXコントロールですか、それともセル内の許容データに対する単なるフィルターですか?

于 2013-06-26T12:52:05.797 に答える