Как найти размеры в кубе для слайсера Excel

Я пытаюсь понять, как получить размеры куба для моего слайсера. Я пробовал почти все, чтобы заставить его работать, но безуспешно.

Приведенный ниже код - это то, что я использую, чтобы слайсер установил день только сегодняшней датой.

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

был в таком формате: "[Период]/[Дата]/&[" & TodayString & "]")

Создал еще два измерения, чтобы они были: Год и месяц, и изменил их следующим образом: тусклый месяц месяц=формат$(сегодня,"мм") сегоднястрока =формат$(сегодня,"дд") Год=формат$(сегодня,"гггг" )

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

Спасибо за ваше время.


person marionffavp    schedule 13.01.2017    source источник
comment
После нескольких часов возни я не смог понять, как определить значения куба, поэтому я использовал другой код, найденный на этом сайте.   -  person marionffavp    schedule 26.01.2017


Ответы (1)


После нескольких часов возни я не смог понять, как определить значения куба, поэтому я использовал другой код, найденный на этом сайте.

По этой ссылке: Установите для слайсера 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 Выберите только первые 5 элементов со связями. Я надеюсь, что это поможет кому-то.

person marionffavp    schedule 26.01.2017