在VBA中创建切片器并更改样式



这是一个有许多工作表的大工作簿,所以所有的名称都需要是可变的。

这是我的:

Sub TestAddSlicer()
var_Pivot_Name = ActiveSheet.PivotTables(1).Name
var_Slicer_Name = "Booking Status " + var_Pivot_Name
var_SlicerCache_Name = "SlicerCache " + var_Pivot_Name
var_Slicer_Source = "fld_Participation_Status"
'Add slicer here I get Error "="
ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables(var_Pivot_Name), var_Slicer_Source,var_SlicerCache_Name).Slicers.Add (ActiveSheet, , var_Slicer_Name, _
"Booking Status", 185.4, 401.4, 144, 194.25)
'Color Slicer
ActiveSheet.Shapes.Range(Array(var_Slicer_Name)).Select
ActiveWorkbook.SlicerCaches(var_Slicer_Name).Slicers(var_Slicer_Name).Style = "Datenschnittformat 1"
End Sub

我有一些版本,其中添加切片器工作,但着色从来没有。

首先,切片器缓存名称不能包含任何空格。所以你可以用下划线代替空格。此外,使用与符号(&)而不是加号(+)来连接值被认为是一种良好的做法。因此,我建议您将加号替换为&号。

var_SlicerCache_Name = "SlicerCache_" & var_Pivot_Name

其次,您需要从Slicers.add的参数中删除括号,并且您还需要删除空行。

ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables(var_Pivot_Name), var_Slicer_Source, var_SlicerCache_Name).Slicers.Add ActiveSheet, , var_Slicer_Name, _
"Booking Status", 185.4, 401.4, 144, 194.25

最新更新