Установка фильтра сводной таблицы через vba по наименованию , а не по номеру элемента в списке

Анонимные
2019-06-01T06:13:38+00:00

Ексель 2016. Сводная таблица подключена к олап Кубу. В сводной таблице есть поля. В т.ч. "контрагент", "товар" Оба поля содержат текст и находятся в области фильтра. Ставлю на запись макрос. Выбираю в фильтрах контрагент5 и товар25. Останавливаю запись. Смотрю макрос. Там: Фильтр по [контрагент5] (все в порядке) и , ВМЕСТО [товар25] написано [7] (просто число семь) - порядковый номер товара в списке в фильтре(именно порядковый номер, а не код элемента в олап кубе...).

Как выбрать товар по наименованию, а не по номеру в списке? Почему в некоторых полях наименования, а в некоторых- номера???

Microsoft 365 и Office | Excel | Для дома | Windows
Microsoft 365 и Office | Excel | Для дома | Windows

Семейство программного обеспечения Майкрософт для работы с электронными таблицами, оснащенное инструментами для анализа, построения диаграмм и обмена данными.

Заблокированный вопрос. Этот вопрос был перенесен из сообщества службы поддержки Майкрософт. Вы можете проголосовать о его полезности, но не можете добавлять комментарии или ответы, а также подписаться на этот вопрос.

Комментариев: 0 Без комментариев

Ответы: 61

Сортировать по: Новейшие
  1. Анонимные
    2019-06-06T04:50:57+00:00

    Класс! Только мне известно название поставщика "Бренд №2520006093935".

    Параметр поиска [2520006093935] мне не известен.

    Как я уже ранее писал (с приложением скриншотов), то что в вашем случае "параметр поиска" можно получить из известного "названия" - является случайным совпадением. В моем случае такого совпадения не обнаруживается. Этот параметр надо каким-то образом получить... Или выйти из ситуации еще как-то (не знаю как)

    Или вы прежлагаете по очереди запустить запись макроса на каждого поставщика и сделать таблицу соответствий? Не подходит.

    1 очень трудоемко.

    1. Каждого нового поставщика придется прописывать
    2. Тк нет понимания сути процесса, не факт что таблица статична

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  2. Анонимные
    2019-06-05T20:23:08+00:00

    Я правильно понимаю вашу задачу?:

    Вы хотите с помощью макроса, искать поставщика по наименованию товара?

    Для примера, имеем таблицу вида:

    вам необходимо найти поставщика Бренда №2520006093935, запускаем макрос поиска:

    Sub поставщик()

    '

    ' поставщик Макрос

    ' поиск поставщика по бренду

    '

    '

    ActiveSheet.PivotTables("BIWEB_SI_OLAP").PivotFields( _

    "[DimProduct].[Brends].[Product Z Brend]").VisibleItemsList = Array( _

    "[DimProduct].[Brends].[Product Z Brend].&[2520006093935]")

    ActiveSheet.PivotTables("BIWEB_SI_OLAP").PivotFields( _

    "[DimProduct].[Brends].[Product Brend]").VisibleItemsList = Array("")

    ActiveSheet.PivotTables("BIWEB_SI_OLAP").PivotFields( _

    "[DimProduct].[Brends].[Product Min]").VisibleItemsList = Array("")

    End Sub

    выполнение которого в таблице выдаёт результат:

    Файл-пример.

    P.S. Поиск поставщика по Бренду, должен также выполняться без применения макроса.

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  3. Анонимные
    2019-06-05T18:47:37+00:00

    "Продукт" было для упрощения. Т.к. как называется поле - не важно.

    Скрины с полями "регион" и "дистрибьютор" (сскоторыми проблема) я выслал.

    Если чего-то не хватает, то напишите.

    У нас у всех у кого можно спросить я уже спосил. Чудо с ит спецом, который подходит и решает проблему не случилось. Задача , простая, тимповая: На листе есть три ячейки: дата, наименование товара, наименование дистрибьютера. Надо что бы при нажатии кнопки (вызывающей макрос) сводной таблице  сработали фильтры по значениям ячеек. С датой и названием товара проблем нет. С наименованием дистрибьютера - проблема: поиск по наименованию не срабатывает.

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  4. Анонимные
    2019-06-05T14:16:22+00:00

    Вы необоснованно упорно, не желаете предоставить информацию по использованному вами OLAP-кубу, а именно:

    -где скриншот с вашим фильтром по полю "Продукт";

    -детализацию поля "Продукт";

    -вы так и не ответили, какую задачу вы пытаетесь решить с использованием макроса к фильтру OLAP-куба.

    Так как необходим непосредственный доступ к вашему рабочему месту, вам необходимо пригласить IT-Специалиста, который на вашем рабочем месте разберётся с задачей которую вы пытаетесь решить, и окажет вам необходимую помощь в решении вашей задачи.

    К сожалению, другого пути решения вашего вопроса не видно.

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев
  5. Анонимные
    2019-06-05T12:07:02+00:00

    Конечно у вас нет этого поля. Оно же из моего примера... Не понял, на что намекаете..

    Олап: Ну вы же умный человек. Что бы вы, будучи разработчиком олапа ответели тому, кто приходит и говорит, что у него в екселе что-то не работает.

    Вот и они так отвечают...

    Этот ответ помог вам?

    Комментариев: 0 Без комментариев