2016-04-25 7 views
0

In der Hoffnung auf einige Hinweise. Ich möchte meinen vorhandenen Code jedes Mal in einem Arbeitsblatt ausführen, wenn eine neue Auswahl in Excel-Slicer ausgewählt wird. Ich bin neu im Code, also wenn jemand antwortet, sei bitte genau, wo ich den Code ablege. Siehe unten. Der letzte Teil des Codes ist mein Versuch, den Code auszuführen, wenn eine neue Auswahl getroffen wird, aber es funktioniert nicht und gibt einen Fehler zurück.Code jedes Mal ausführen, wenn die Auswahl im Slicer ausgewählt ist

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 

Antwort

0

Es gibt kein Ereignis, das Slicer verbunden ist. Sie können also das Ereignis "wenn ein Slicer geändert wird" nicht direkt erfassen. Sie können alle Ereignisse anzeigen, die in Excel innerhalb des VBE erfasst werden können. Drücken Sie einfach F2 und suchen Sie dann nach dem Objekt, für das Sie möglicherweise ein Ereignis erfassen möchten. Suchen Sie dann nach einem Element, das mit einem Blitz markiert ist. Dies sind (Beispiel) die Ereignisse, die Sie möglicherweise für ein Arbeitsblatt verwenden können:

List of potential worksheet events to capture

Hier können Sie sehen, dass es keine Termine für eine Schneidemaschine zur Verfügung:

List of events available for slicers

Die einzige Möglichkeit, ist das - basierend auf Ihrem geänderten Filter (unter Verwendung des Slicers) - ändert sich die zugrundeliegende Tabelle und dadurch wird das Ereignis zum Ändern des Arbeitsblattes ausgelöst.

Verwandte Themen