【问题标题】:How to find Dimensions in cube for Excel slicer如何在 Excel 切片器的多维数据集中查找维度
【发布时间】:2017-01-13 18:09:23
【问题描述】:

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

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

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 & "]")

采用这种格式: "[期间]/[日期]/&[" & todayString & "]")

创建了另外两个维度: 年和月,修改如下: 昏暗的月份 月=格式$(今天,“mm”) 今天字符串=格式$(今天,“dd”) Year=format$(today,"yyyy")

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

感谢您的宝贵时间。

【问题讨论】:

  • 经过数小时的修补,我无法弄清楚如何确定多维数据集的值,因此我使用了在此站点上找到的不同代码。

标签: excel pivot-table slicers


【解决方案1】:

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

在这个链接: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

结束子

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2019-04-11
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多