2016-04-25 38 views
0

何らかのガイダンスのために願っています。 Excelのスライサーで新しい選択が選択されるたびに、既存のコードをワークシートで実行したい。私はコードに新しいので、誰かが応答した場合、私はどこにコードを置くように具体的にしてください。下記参照。コードの最後の部分は、新しい選択が行われた場合にコードを実行しようとする試みですが、機能しなくなり、エラーが返されます。スライサーでの選択が選択されるたびに実行コード

Sub ConditionalFormatting() 

End Sub 


Set a = Sheets("Pivot") 

i = 6 'row 
j = 6 'column 
Do Until a.Cells(4, j) = "Grand Total" 'tells code to continue the code until it finds Grand Total 
    j = j + 1 
Loop 
j = j - 1 
vArr = Split(Cells(1, j).Address(True, False), "$") 
a.Cells(1, 15) = vArr 
Do Until a.Cells(i, 5) = "" 
    a.Range("F" & i & ":" & a.Cells(1, 15).Value & i).Select 
    Selection.FormatConditions.AddColorScale ColorScaleType:=3 
    i = i + 1 
Loop 
a.Cells(1, 15) = "" 



Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable) 
    Application.Run ("'Top 95 Data Update.xlsb'!ConditionalFormatting") 


End Sub 

答えて

0

スライサーにリンクされているイベントはありません。したがって、「スライサーが変更されたとき」のイベントを直接キャプチャーすることはできません。 VBE内でExcelでキャプチャできるすべてのイベントが表示されます。 F2を押してから、イベントをキャプチャしたいアイテムを探してください。次に、フラッシュでマークされたアイテムを探します。これらはあなたが潜在的にワークシートに使用できるイベント(例)です:

ここ

List of potential worksheet events to capture

利用できるスライサーのためのイベントが存在しないことをあなたが見ることができます:

List of events available for slicers

唯一の可能性は、つまり、変更されたフィルタ(スライサーを使用)に基づいて、基礎となるテーブルが変更され、ワー​​クシート変更イベントが発生します。

関連する問題