2017-07-20 7 views
0

これが可能かどうかは確かではありません。しかし、私は主にスライサーで制御された非常に大量のデータシートを使用しています。このデータシートの抜粋を作成する際には、スライサーの設定とヘッダの抽出日時を設定したいと思います(スライサーが正しく設定されていることを確認し、データが抽出された時点)。データシート内のスライサーの設定を取得する

Googleは答えを知らなかったし、私のgoogle-fuは強い傾向があるので、ここでアドバイスを受けた。

これも可能ですか?好ましくはVBAでそれを行う。

答えて

0

Ahhが見つかりました。

以下のコードを使用してPublicFunctionを作成し、選択したスライサー値を表示します。

Public Function GetSelectedSlicerItems(SlicerName As String) As String 
Dim oSc As SlicerCache 
Dim oSi As SlicerItem 
Dim lCt As Long 
On Error Resume Next 
Application.Volatile 
Set oSc = ThisWorkbook.SlicerCaches(SlicerName) 
If Not oSc Is Nothing Then 
    For Each oSi In oSc.SlicerItems 
     If oSi.Selected Then 
      GetSelectedSlicerItems = GetSelectedSlicerItems & oSi.Name & ", " 
      lCt = lCt + 1 
     ElseIf oSi.HasData = False Then 
      lCt = lCt + 1 
     End If 
    Next 
    If Len(GetSelectedSlicerItems) > 0 Then 
     If lCt = oSc.SlicerItems.Count Then 
      GetSelectedSlicerItems = "All" 
     Else 
      GetSelectedSlicerItems = Left(GetSelectedSlicerItems, Len(GetSelectedSlicerItems) - 2) 
     End If 
    Else 
     GetSelectedSlicerItems = "No items selected" 
    End If 
Else 
    GetSelectedSlicerItems = "No slicer with name '" & SlicerName & "' was found" 
End If 
End Function 
関連する問題