2016-06-07 2 views

답변

0

다음은 슬라이서에서 선택한 항목을 가져 오기 위해 작성한 기능입니다. 선택한 슬라이서 항목의 쉼표로 구분 된 문자열을 반환합니다.

원하는 경우 선택한 항목 수만 반환하도록이 기능을 사용할 수 있습니다. 개인적으로 나는 어떤 항목이 선택되었는지 아는 것이 더 중요하다고 생각합니다.

'This function takes one parameter 
'This is the Formula name for the slicer 
'you can find this name by right clicking on a slicer 
'and choosing Slicer Settings... 
Public Function getSlicerChoices(SlicerName As String) As String 
    Dim slicerval  As SlicerCache 
    Dim sItm   As SlicerItem 

    Set slicerval = ThisWorkbook.SlicerCaches(SlicerName) 

    For Each sItm In slicerval.VisibleSlicerItems 
     If sItm.Selected Then 
      If sItm.Name <> "(blank)" Then 
       If getSlicerChoices = "" Then 
        getSlicerChoices = "'" & Replace(Trim(sItm.Name), "'", "''") & "'" 
       Else 
        getSlicerChoices = "'" & Replace(Trim(sItm.Name), "'", "''") & "'," & getSlicerChoices 
       End If 
      End If 
     End If 
    Next sItm 

    'Take last comma off the string 
    If Right(getSlicerChoices, 1) = "," Then 
     getSlicerChoices = Left(getSlicerChoices, Len(getSlicerChoices) - 1) 
    End If 

    getSlicerChoices = Replace(getSlicerChoices, "(blank)", "") 
    Set slicerval = Nothing 

End Function