ブックは2枚のシートで構成されています。Sheet1はユーザーが見る主要なダッシュボードで、Sheet2はピボットテーブルと通常のテーブルで構成されています。クリックしたセルのテキストに基づくピボットテーブル
いくつかのVBAコードを実装して、ユーザーがSheet1のテキストをクリックし、Sheet2のピボットテーブルがユーザーがクリックしたテキストに従ってフィルタリングするようにしたいと思います。
たとえば、シート1の列Aは米国都市のリストです。私は、ユーザーがSheet1の都市名をダブルクリックして、市の名前がクリックされた場所にSheet2フィルタのピボットテーブルを持つことができるようにしたいと思います。
実際にユーザーをSheet2に連れて来るために、マクロは必要ありません。 私がやっていることは、Sheet1のピボットテーブルを参照するだけです。
私は標準的なテーブルを使って同様のものを設計しましたが、ピボットテーブルで作業するためにはこれが本当に必要です。どうすればよいか分かりません。
UPDATE
[OK]をので、今ここに私のコードです:
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("E:P")) Is Nothing Then
Application.ScreenUpdating = False
Worksheets("Dillon Pivot").PivotTables("PivotTable2").ManualUpdate = True
Worksheets("Dillon Pivot").PivotTables("PivotTable2").PivotFields("Match").ClearAllFilters
Worksheets("Dillon Pivot").PivotTables("PivotTable2").PivotFields("Match").CurrentPage = ActiveCell.Value
Worksheets("Dillon Pivot").PivotTables("PivotTable2").ManualUpdate = False
Application.ScreenUpdating = True
End If
End Sub
は、私は、ユーザーがメインのダッシュボード上のセルをクリックすることができるようにしたいとのピボットテーブルを持っているが「Dillon Pivot」をフィルタリングします。私は次のエラーを取得するセルをダブルクリックしたときに
しかし、:「アプリケーション定義またはオブジェクト定義のエラー」
は誰でも助けることはできますか?
は以下を見てください - それは、フィルタを交換する方法について説明します。http://stackoverflow.com/questions/11071662/filter-excel-pivot-table-using- vba 次にDouble-Clickを処理するためのコードが必要です。ここにはhttp://www.excel-easy.com/vba/examples/beforedoubleclick-event.html があります。私たちは知っている。 –
さて、私はアップデートを加えました! – Darren
[Slicers](https://support.office.com/en-us/article/Use-slicers-to-filter-PivotTable-data-249f966b-a9d5-4b0f-b31a-12651785d29d)を使用しないのはなぜですか? – Parfait