0
Microsoft Excel에서 슬라이서가있는 피벗 테이블이 있으며, 슬라이서에서 둘 이상의 항목을 선택한 경우 무언가가 발생하는 매크로를 만들고 싶습니다.vba를 통해 pivotable slicer에서 얼마나 많은 항목을 선택할 수 있는지 알 수 있습니까?
나를 도와 줄 사람이 있습니까?
Microsoft Excel에서 슬라이서가있는 피벗 테이블이 있으며, 슬라이서에서 둘 이상의 항목을 선택한 경우 무언가가 발생하는 매크로를 만들고 싶습니다.vba를 통해 pivotable slicer에서 얼마나 많은 항목을 선택할 수 있는지 알 수 있습니까?
나를 도와 줄 사람이 있습니까?
다음은 슬라이서에서 선택한 항목을 가져 오기 위해 작성한 기능입니다. 선택한 슬라이서 항목의 쉼표로 구분 된 문자열을 반환합니다.
원하는 경우 선택한 항목 수만 반환하도록이 기능을 사용할 수 있습니다. 개인적으로 나는 어떤 항목이 선택되었는지 아는 것이 더 중요하다고 생각합니다.
'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