2016-04-25 39 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

唯一的可能性是 - 根據您更改的過濾器(使用切片器) - 基礎表將會更改,從而工作表更改事件觸發。