2017-01-13 2 views
0

私のスライサー用のキューブの寸法を取得する方法を理解しようとしています。私はそれを働かせるためにすべてのものの隣で試しましたが、成功しませんでした。Excelスライサーのキューブで寸法を見つける方法

以下のコードは、スライサーで今日の日付のみに設定されているものです。 「[期間:私は

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

がこの形式にあったように、それを修正しようとした Set excel slicer to todays date

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. 

上記のコードは次のリンクでは、このサイトに掲載されていました]/[日付]/& ["& todayString &"] ")

される2つの以上のディメンション作成: 年と月をし、このようにそれを修正: 薄暗い月 月=形式$(今日、「MM」) todaystring =形式$(今日、「DD」) 年=形式$ (今日、「yyyy」)

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

ありがとうございます。

+0

時間がたつにつれて、キューブの値がどのようになっているかを調べることができず、このサイトで見つかった別のコードを使用しました。 – marionffavp

答えて

0

時間がたっても、キューブの値がどのようになっているかを調べることができなかったので、このサイトで見つかった別のコードを使用しました。このリンクで

Set excel slicer to todays date

サブ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の

EDIT: それは長い時間がかかるため、可能な回避は、日付の値のすべてをループした場合。ピボットテーブルを使用して完了したいタスクのマクロを記録し、必要に応じてマクロを編集することを強くお勧めします。たとえば、昨日のデータのみを表示するために、日付フィルタ「日付フィルタ>昨日」の値を適用しながら、アクションのマクロを記録します。 このリンクで行ったのと似たようなものExcel 2013 VBA Pivot Table Select Only Top 5 Items With Ties これが誰かを助けてくれることを願っています。

関連する問題