如何在立方体中为 Excel 切片器查找维度
How to find Dimensions in cube for Excel slicer
我想知道如何为我的切片器获取立方体的尺寸。我已尽一切努力让它工作,但没有成功。
下面的代码是我用来让切片器将日期设置为今天的日期的代码。
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.
以上代码是在本网站上找到的 link:
我尝试对其进行修改,以便
"[Period].[Date].&[" & todayString & "]")
是这种格式:
"[期间]/[日期]/&[" & todayString & "]")
创建了另外两个维度:
年份和月份并像这样修改它:
暗月
月=格式$(今天,"mm")
todaystring =format$(今天,"dd")
年=格式$(今天,"yyyy")
"[Month]/&["& todaystring & "]" & [Year]")
感谢您的宝贵时间。
经过数小时的修改,我无法弄清楚如何确定多维数据集的值,所以我使用了在此站点上找到的不同代码。
此时link:
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
结束子
编辑:
如果可能,请避免遍历所有日期值,因为它需要更长的时间。我强烈建议录制您希望使用数据透视表完成的任务的宏,然后根据您的需要编辑宏。例如,当您应用日期过滤器 "Date Filter>Yesterday" 值以仅显示昨天的数据时,记录您的操作宏。
类似于我在 link 中所做的事情。
我希望这对某人有所帮助。
我想知道如何为我的切片器获取立方体的尺寸。我已尽一切努力让它工作,但没有成功。
下面的代码是我用来让切片器将日期设置为今天的日期的代码。
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.
以上代码是在本网站上找到的 link:
我尝试对其进行修改,以便
"[Period].[Date].&[" & todayString & "]")
是这种格式: "[期间]/[日期]/&[" & todayString & "]")
创建了另外两个维度: 年份和月份并像这样修改它: 暗月 月=格式$(今天,"mm") todaystring =format$(今天,"dd") 年=格式$(今天,"yyyy")
"[Month]/&["& todaystring & "]" & [Year]")
感谢您的宝贵时间。
经过数小时的修改,我无法弄清楚如何确定多维数据集的值,所以我使用了在此站点上找到的不同代码。
此时link:
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
结束子
编辑:
如果可能,请避免遍历所有日期值,因为它需要更长的时间。我强烈建议录制您希望使用数据透视表完成的任务的宏,然后根据您的需要编辑宏。例如,当您应用日期过滤器 "Date Filter>Yesterday" 值以仅显示昨天的数据时,记录您的操作宏。
类似于我在 link