0

我想弄清楚如何为我的切片机获取立方体的尺寸。我已经尝试了一切以使其正常工作,但没有成功。

下面的代码是我用来让切片器将日期设置为今天的日期的代码。

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.

上面的代码是在这个网站上的以下链接中找到的: 将 excel 切片器设置为今天的日期

我试图修改它,以便

"[Period].[Date].&[" & todayString & "]")

采用这种格式:“[Period]/[Date]/&[" & todayString & "]")

创建了另外两个维度:年和月并修改如下:dim month month=format$(today,"mm") todaystring =format$(today,"dd") Year=format$(today,"yyyy" )

"[Month]/&["& todaystring & "]" & [Year]")

感谢您的时间。

4

1 回答 1

0

经过几个小时的修补,我无法弄清楚如何确定多维数据集的值,所以我使用了在这个网站上找到的不同代码。

在此链接:将 excel 切片器设置为今天的日期

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

结束子

编辑:如果可能,请避免遍历所有日期值,因为它需要更长的时间。我强烈建议记录您希望使用数据透视表完成的任务的宏,然后根据需要编辑宏。例如,在您应用日期过滤器“日期过滤器>昨天”值以仅显示昨天的数据时记录您的操作宏。类似于我在此链接Excel 2013 VBA Pivot Table Select Only Top 5 Items With Ties中所做的事情。我希望这可以帮助别人。

于 2017-01-26T14:47:21.907 回答