Страницы: 1
RSS
В срезе посредством VBA выбрать какой-то определенный пункт
 
Уважаемые, вразумите!
Каким образом можно в срезе посредством VBA выбрать какой-то определенный пункт (в срезе несколько названий сетей и нужно выбрать только одну)?
Макрорекодер подсказывает следующие:
Код
Sub Макрос1()
    ActiveWorkbook.SlicerCaches("Срез_Сеть1").ClearManualFilter
    With ActiveWorkbook.SlicerCaches("Срез_Сеть1")
        .SlicerItems("Дикси").Selected = True
        .SlicerItems("Ашан").Selected = False
        .SlicerItems("Карусель").Selected = False
        .SlicerItems("Лента").Selected = False
     End With
Но это не есть здорово, объясняю почему...

Список элементов в срезе будет меняться и там будет далеко не 4 сети. При этом название выбираемой сети так же может меняться и зависит от значения, которое указано в Комбобоксе.
 
если бы вы вложите ЛЮБОЙ примерный файл - он ведь не должен быть по вашим сетям - то шансов будет больше общими усилиями найти ответ...
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Снимать фильтр со среза (?) и выбирать нужную
F1 творит чудеса
 
Добрый день,
а если циклом установить все кроме нужного - "False"?
(как идея, реализовывать непробовал)
 
что-то типа такого
Код
With ActiveWorkbook.SlicerCaches("Срез_Сеть1")     
For i = 1 to .SlicerItems.count
.SlicerItems(i).Selected = iif(.SlicerItems(i).Name = ИмяВКомбобоксе, True, False)
Next i   
End With 
Учимся сами и помогаем другим...
 
или тип такого
Код
On Error Resume Next
TNet = InputBox("Введите название Сети")
With ActiveWorkbook.SlicerCaches("Срез_Сеть1")
    .ClearManualFilter
    For I = 1 To .SlicerItems.Count
        If .SlicerItems(I).Name = TNet Then .SlicerItems(I).Selected = True Else .SlicerItems(I).Selected = False
    Next
End With 
Согласие есть продукт при полном непротивлении сторон
 
Прошу прощения за отсутствие реакции.
Vitallic, ber$erk, Sanja,спасибо! И правда в данной ситуации наверно первое, что должно было придти в голову - это цикл. Буду пробовать.
 
я когда-то озадачивался этим вопросом. так и не довел до конца. нашел обходной путь
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=52541&TITLE_SEO=52541&MID=436230#message436230
Страницы: 1
Наверх