snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
For j = 1 To s.SlicerItems.Count
If s.SlicerItems(j).Selected = True Then
'Debug.Print s.SlicerItems(j).Name
ReDim Preserve arr(i)
arr(i) = s.SlicerItems(j).Name
i = i + 1
End If
Next j
End If
End With
Next s
For k = 1 To UBound(arr) + 1
sPd.ClearManualFilter
Module 5 แล้ว Button ปุ่ม
รายการทดสอบ.xlsm
You do not have the required permissions to view the files attached to this post.
Sub test()
Dim s As SlicerCache, arr(), sPd As SlicerCache
Dim i As Integer, j As Integer, k As Integer, l As Integer
For Each s In ActiveWorkbook.SlicerCaches
With s
If s.Name = "Slicer_ÃËÑÊ_ÊÒ¢Ò" Then
Set sPd = ActiveWorkbook.SlicerCaches(s.Name)
For j = 1 To s.SlicerItems.Count
If s.SlicerItems(j).Selected = True Then
'Debug.Print s.SlicerItems(j).Name
ReDim Preserve arr(i)
arr(i) = s.SlicerItems(j).Name
i = i + 1
End If
Next j
End If
End With
Next s
For k = 1 To UBound(arr) + 1
sPd.ClearManualFilter
For l = 1 To sPd.SlicerItems.Count - 1
sPd.SlicerItems(l).Selected = False
Next l
sPd.SlicerItems(arr(k)).Selected = True
'Your command for printing.
Next k
End Sub
ทดสอบโดยใช้ Code เดิมครับ
error out of range ครับ ผลลัพธ์หน้า Slicer สาขา Unselect ออกทั้งหมด
'Other code
For k = 0 To UBound(arr)
sPd.ClearManualFilter
For l = 1 To sPd.SlicerItems.Count - 1
sPd.SlicerItems(l).Selected = False
Next l
sPd.SlicerItems(arr(k)).Selected = True
'Your command for printing.
Next k
'Other code
'Other code
For k = 1 To UBound(arr) + 1
sPd.ClearManualFilter
For l = 1 To sPd.SlicerItems.Count - 1
sPd.SlicerItems(l).Selected = False
Next l
sPd.SlicerItems(arr(k - 1)).Selected = True
'Your command for printing.
Next k
'Other code
'Other code
For k = 0 To UBound(arr)
sPd.ClearManualFilter
For l = 1 To sPd.SlicerItems.Count - 1
sPd.SlicerItems(l).Selected = False
Next l
sPd.SlicerItems(arr(k)).Selected = True
'Your command for printing.
Next k
'Other code
'Other code
For k = 1 To UBound(arr) + 1
sPd.ClearManualFilter
For l = 1 To sPd.SlicerItems.Count - 1
sPd.SlicerItems(l).Selected = False
Next l
sPd.SlicerItems(arr(k - 1)).Selected = True
'Your command for printing.
Next k
'Other code
'Other code
Next s
sPd.ClearManualFilter
For l = 1 To sPd.SlicerItems.Count - 1
sPd.SlicerItems(l).Selected = False
Next l
For k = 0 To UBound(arr)
If k > 0 Then sPd.SlicerItems(arr(k - 1)).Selected = False
sPd.SlicerItems(arr(k)).Selected = True
'Your command for printing.
Next k
For k = 0 To UBound(arr)
sPd.SlicerItems(arr(k)).Selected = True
Next k
'Other code
'Other code
Next s
sPd.ClearManualFilter
For l = 1 To sPd.SlicerItems.Count - 1
sPd.SlicerItems(l).Selected = False
Next l
For k = 0 To UBound(arr)
sPd.SlicerItems(arr(k)).Selected = True
If k > 0 Then sPd.SlicerItems(arr(k - 1)).Selected = False
If k = 0 Then sPd.SlicerItems(sPd.SlicerItems.Count).Selected = False
'Your command for printing.
Next k
For k = 0 To UBound(arr)
sPd.SlicerItems(arr(k)).Selected = True
Next k
'Other code