2016-06-23 3 views
0
Private Sub Worksheet_Change(ByVal Target As Range) 

If Intersect(Target, Range("J2")) Is Nothing Then Exit Sub 

'Set the Variables to be used 
Dim pt As PivotTable 
Dim Field As PivotField 
Dim NewPolicy As Double 

'Here you amend to suit your data 
Set pt = Worksheets("Payment Data").PivotTables("PivotTable1") 
Set Field = pt.PivotFields("POL_NUMBER") 
NewPolicy = Worksheets("Payment Data").Range("J2").Value 

'This updates and refreshes the PIVOT table 
With pt 
Field.ClearAllFilters 
Field.CurrentPage = NewPolicy 
pt.RefreshTable 
End With 

End Sub 

これは私が初心者であるため、間違った構文についてお詫び申し上げます。上記のコードでは、ピボットテーブルを取得して、同じページのセルから値を受け取り、参照されたセルとやりとりする必要なしに、瞬時に更新しようとしています。私はウェブサイトからこのコードを入手しました。私はそれを調整しましたが、ピボットテーブルを更新することができません。上記の状態にこのコードを変更する前に、私のコードは次のように見えた:その古い状態でセルとフィルタからデータを受け取るピボットテーブルを作成する

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

If Intersect(Target, Range("J2")) Is Nothing Then Exit Sub 

'Set the Variables to be used 
Dim pt As PivotTable 
Dim Field As PivotField 
Dim NewPolicy As Double 

'Here you amend to suit your data 
Set pt = Worksheets("Payment Data").PivotTables("PivotTable1") 
Set Field = pt.PivotFields("POL_NUMBER") 
NewPolicy = Worksheets("Payment Data").Range("J2").Value 

'This updates and refreshes the PIVOT table 
With pt 
Field.ClearAllFilters 
Field.CurrentPage = NewPolicy 
pt.RefreshTable 
End With 

End Sub 

、コードが働いていたが、私はJ2をクリックして、シート上の他の場所をクリックする必要がありました(J2からその値を取得しますメインデータ入力シートである別のシートのセル)。 ピボットテーブルを更新するためにJ2をクリックし続ける必要はありません。 J2が別のシート(J2と接続されている他のセル)の別のセル値に基づいてJ2の値を変更するとすぐに更新したいと思います。事前に

おかげで、 LHS

+0

このコードではどうなりますか? – Rory

+0

一番上のコードは私が使用しているコードです。コードが行うことは、ワークシートのセルから値を受け取ることです(セル自体が別のワークシートの別のセルから値を受け取ります)。 セルの値の変化を検出してから、 – LHS

+0

J2をどのように変更していますか – Rory

答えて

0

は、Excel 2010以降を持っている場合は、実際にあるため、これを実行するためのコードを必要としない:

  • ピボットテーブル内の1つのフィールドが、何もフィルタペインの外観と の動作は、データ検証のドロップダウンとほぼ同じです。

  • スライサーを介してピボットテーブルに他のピボットテーブルを接続することができます。

実装時の外観は次のとおりです。そのRegionのドロップダウンリストは、「領域」フィールドが表示されているだけのピボットテーブルで、ページフィールドとして表示されます。他の2つのピボットは、スライサーを介してそれに接続されています。あなたは地域の選択は、他のピボットは自動的に更新されますことを変更した場合

Faux DV and Pivot

そして今、:もちろん

Pivots are synced

、あなただけの直接スライサーを使用することができます。

Just use a slicer

http://dailydoseofexcel.com/archives/2014/08/16/sync-pivots-from-dropdown/

関連する問題