2016-04-15 54 views
0

選択した要素が1つのスライサーがあります。ピボットスライサーから選択した項目の対応するテキストで変数を暗くするだけです。Excel VBA - スライサーから選択した要素を返します。

Dim i As Integer 

For i = 1 To ActiveWorkbook.SlicerCaches("Slicer_HeaderTitle").Slicers.Count 
MsgBox ("Level" & CStr(i) & "; – > " & ActiveWorkbook.SlicerCaches("Slicer_HeaderTitle").Slicers(i).Name) 
Next i 

答えて

0

ここでの問題は、あなたがスライサーではなく、スライサー項目を反復処理しようとしているです:私は運でこれを試してみました。

あなたはこの

Dim o_slicer_item As Object 

For Each o_slicer_item In ActiveWorkbook.SlicerCaches("Slicer_HeaderTitle").SlicerItems 
    If o_slicer_item.Selected = True Then MsgBox o_slicer_item.Name 
Next 

ような何かを試すことができ、それが選択されている場合、これは、単純に項目名が表示されます(それは関係なく、カウント数の、選択した各項目のメッセージボックスが表示されます)。 1つ(最初、最後、またはn番目)だけを表示したい場合は、ループを修正して正しいポイントでループを解除する必要があります。

+0

私はSQLサーバーに接続していますが、次のエラーコードが表示されます。1004 – TobiasKnudsen

+0

これはかなり一般的です。どのラインでそれを正確に得ていますか? – zaptask

関連する問題