我发现很难使用VBA从切片器中取消选择具有特定名称的特定项。
就上下文而言,在一个工作簿中,我总结了所有(23)产品的收入,并使用VBA成功地将数据从一个单独和更详细的工作簿复制并粘贴到此摘要工作簿中。但是,在我的总结工作簿中,我想知道除一个产品(产品名称2)以外的所有产品的总收入。-如何简单地从详细工作簿中的切片器中取消选择这一项,然后将总异常收入数据复制并粘贴到我的摘要工作簿中?
在记录宏(见下面)时,我得到了一个错误,“太多的行连续”:
ActiveWorkbook.SlicerCaches("Slicer_SLICERNAME"). _
VisibleSlicerItemsList = Array( _
"[Infor].[SLICER NAME].&", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 3]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 4]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 5]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 6]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 7]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 8]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 9]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 10]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 11]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 12]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 13]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 14]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 15]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 16]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 17]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 18]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 19]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 20]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 21]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 22]", _
"[Infor].[SLICER NAME].&[PRODUCT NAME 23]", _
End Sub发布于 2019-08-16 15:18:11
解决了,而不是试图过滤掉一个特定的产品,我创造了一个解决方案。我只对该产品进行过滤,将数据复制到摘要工作簿上,然后使用一个公式从总价值中减去奇异产品。执行整个vba需要同样的时间。但是,看起来并不是很干净,因为有更多的线条比我最初想要的多。
发布于 2019-08-15 23:27:53
这对我起了作用:
Dim slc As SlicerCache
Set slc = ActiveWorkbook.SlicerCaches("Slicer_Product")
slc.ClearManualFilter
slc.SlicerItems("Product 02").Selected = Falsehttps://stackoverflow.com/questions/57515617
复制相似问题