【发布时间】:2018-07-05 14:27:53
【问题描述】:
我是 VBA 的新手,需要学习如何自动更改切片器上的选定值。 我首先尝试了一个非常简单的代码,但我尝试了以下代码的所有可能变化,总是得到错误 1004,这次是“应用程序定义或对象定义错误”
Sub SlicerSelect()
With ActiveWorkbook.SlicerCaches("Slicer_Time")
.SlicerItems("2016").Selected = False
End With
End Sub
有人有想法吗? Here 也是我的切片器及其设置的图像。
顺便说一句,当我使用 .ClearManualFilter 命令时它可以工作。
非常感谢!
这也是通过手动过滤我的项目的宏记录:
Sub Macro2()
' Macro2 Macro
ActiveWorkbook.SlicerCaches("Slicer_Time2").VisibleSlicerItemsList = Array( _
"[Booking Period].[Time].[YEAR].&[2018]")
End Sub
【问题讨论】:
-
请添加您的代码以供审核。另外,您要选择什么选项?所有切片器选项?最近一年?等
-
(对不起图片...这是我第一次在这里问代码问题!)
-
'Sub SlicerSelect() With ActiveWorkbook.SlicerCaches("Slicer_Time") .SlicerItems("2016").Selected = False End With End Sub' 我的代码。我正在尝试选择“2016”选项,我以为您可以在第一张图片上看到所有这些内容,抱歉
-
我仍在调查,我注意到在我的 Locals 中,一旦我将 SlicerCache 的值分配给一个变量,这个值就会出现
由它的 SlicerItems 引起,所以我猜问题来自我的 Slicer 或者可能是源文件...但是手动我已经用它做了很多枢轴并更改了值没有任何问题,所以我不太明白!跨度> -
您能否启动宏记录器,手动过滤项目,然后将生成的代码添加到您的原始问题中。这通常会突出问题。