Добрый день! На листе "расчёт" есть таблица в которой я произвожу расчёт. Периодически есть необходимость фильтровать таблицу по названиям поставщиков и продуктов. Эти названия поставщиков продуктов я часто выбираю на другом листе "BI" в сводных для просмотра ряда характеристик. Что бы не копировать каждый раз названия поставщиков и продуктов записал макрос
Код
Sub ФильтрыСводных()
Dim nameВТМ As String
nameВТМ = Sheets("расчёт").Range("I7")
Dim nameSKU As String
nameSKU = Sheets("расчёт").Range("C7")
Sheets("BI").Select
ActiveSheet.PivotTables("Сводная таблица8").PivotFields( _
"[prod].[SKU - ВТМ].[SKU - ВТМ]").VisibleItemsList = Array("[prod].[SKU - ВТМ].&[" & nameВТМ & "]")
ActiveSheet.PivotTables("Сводная таблица8").PivotFields( _
"[prod].[SKU - НАИМЕНОВАНИЕ АНАЛОГ].[SKU - НАИМЕНОВАНИЕ АНАЛОГ]").VisibleItemsList = Array("[prod].[SKU - НАИМЕНОВАНИЕ АНАЛОГ].&[" & nameSKU & "]")
ActiveSheet.PivotTables("Сводная таблица3").PivotFields( _
"[product].[SKU - ВТМ].[SKU - ВТМ]").VisibleItemsList = Array("[product].[SKU - ВТМ].&[" & nameВТМ & "]")
End Sub
Он работает. Однако с листа "расчёт" макрос получает только первые названия поставщика и товара после заголовка таблицы из ячеек "I7" и "C7". Нашёл макрос которой находит именно первое видимое значение в отфильтрованной ячейке.
Код
Sub FirstVisibleCell()
With Worksheets("расчёт").AutoFilter.Range
ActiveCell.Value2 = Range("C" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
End With
End Sub
Хочу результат его работы передать в переменную первого макроса, но пока не получается. Пробовал так
Код
Sub Фильтры()
Dim nameВТМ As String
With Worksheets("расчёт").AutoFilter.Range
ActiveCell.Value2 = Range("C" & .Offset(1, 0).SpecialCells(xlCellTypeVisible)(1).Row).Value2
End With
однако ругается = Run-time error '1004: Unable to get the SpecialCells property of the Range class
Добрый день! Есть сводная таблица построенная на вроде на основе OLAP-куба на листе "BI". Хочу сделать так, чтобы макросом в фильтр сводной таблицы передавалось значение с листа "расчёт" из ячейки "I7". В этой ячейке меняются текстовые значения. Через макрорекордер записал макрос и потом попробовал его переделать.
Получилось так Sub Макрос3() Dim name1 As String name1 = Sheets("расчёт").Range("I7") Sheets("BI").Select ActiveSheet.PivotTables("Сводная таблица8").PivotFields( _ "[prod].[SKU - ВТМ].[SKU - ВТМ]").VisibleItemsList = Array("[prod].[SKU - ВТМ].[SKU - ВТМ].&[" & name1 & "]") End Sub
при выполнении выдаёт ошибку: Run-time error '1004: Не удается найти элемент в кубе OLAP.
в Debug подсвечивает эту часть ActiveSheet.PivotTables("Сводная таблица8").PivotFields( _ "[prod].[SKU - ВТМ].[SKU - ВТМ]").VisibleItemsList = Array("[prod].[SKU - ВТМ].[SKU - ВТМ].&[" & name1 & "]")
Добрый день! Начинаю работать с power query, написал запрос к таблице в книге. Внутри запроса если идти по шагам, то нет ошибок. В выгружаемой запросом таблице тоже нет ошибок (насколько понимаю). Ошибки, а их столько, сколько выгружается строк видно только в разделе где отражаются запросы.
Не понимаю из-за чего возникает ошибка и в чём она состоит? заранее всем спасибо