我想弄清楚如何为切片器获取立方体的尺寸。我已经尝试了一切以使其发挥作用,但没有成功。
以下代码是我使用切片器将当天设置为今天的日期。
Dim today As Date
today = Now
Dim todayString As String
todayString = Format$(today, "mm/dd/yyyy")
ThisWorkbook.SlicerCaches("Slicer_Created_on").ClearManualFilter
ActiveWorkbook.SlicerCaches("Slicer_Created_on").VisibleSlicerItemsList=
Array( _
"[Period].[Date].&[" & todayString & "]") ' This is where the error occurs.
上述代码在本网站的以下链接中找到: Set excel slicer to todays date
我试图修改它以便
"[Period].[Date].&[" & todayString & "]")
采用以下格式: " [时段] / [日期] /&安培; [" &安培;今天串口& "]&#34)
创建了两个维度: 年和月并修改如下: 昏暗的一个月 一个月=格式$(今天,"毫米&#34) todaystring = format $(今天," dd") 年=格式$(今天," YYYY&#34)
"[Month]/&["& todaystring & "]" & [Year]")
感谢您的时间。
答案 0 :(得分:0)
经过几个小时的修补,我无法弄清楚如何确定多维数据集的值是什么,因此我使用了在此站点上找到的不同代码。
点击此链接:Set excel slicer to todays date
Sub SlicerSelectToday()
Dim today As Date
today = Now
Dim todayString As String
todayString = Format$(today, "m/d/yyyy") ' I have US date
Dim item As SlicerItem
For Each item In ThisWorkbook.SlicerCaches("Slicer_Date").SlicerItems
If item.Name = todayString Then
item.Selected = True
Else
item.Selected = False
End If
Next item
ThisWorkbook.RefreshAll
End Sub
编辑: 如果可能,请避免循环遍历所有日期值,因为它需要更长时间。我强烈建议您使用数据透视表记录要完成的任务的宏,然后根据需要编辑宏。例如,在应用日期过滤器“Date Filter> Yesterday”值时,记录您的操作的宏,仅显示昨天的数据。 类似于我在此链接中所做的事情Excel 2013 VBA Pivot Table Select Only Top 5 Items With Ties。 我希望这有助于某人。