1) Можно ли использовать UDF в именованном диапазоне в диспетчере имен? 2) Сейчас реализован динамический график через именованный диапазон по общей сумме по пар_1 между двумя датами, есть необходимость сделать тоже самое, но по фильтру. Вижу решение только через UDF, возрашающую диапазон. Рыбу функции я в принципе сделал, но не могу понять почему у меня не вычисляется формула на данном участке кода:
[/vba] Хотелось бы ещё узнать есть ли какая-нибудь возможность вычислить какую-либо формулу не через запись результата в ячейку.
Добрый день! Интересует несколько вопросов:
1) Можно ли использовать UDF в именованном диапазоне в диспетчере имен? 2) Сейчас реализован динамический график через именованный диапазон по общей сумме по пар_1 между двумя датами, есть необходимость сделать тоже самое, но по фильтру. Вижу решение только через UDF, возрашающую диапазон. Рыбу функции я в принципе сделал, но не могу понять почему у меня не вычисляется формула на данном участке кода:
почему у меня не вычисляется формула на данном участке кода
Скорее всего из-за того, что Вы в международном свойстве Formula используете русские названия функций вместо английских и точку с запятой вместо с запятой. Попробуйте свои выкладки поместить в свойство FormulaLocal, либо заменитесь в Formula на английские функции и запятые.
почему у меня не вычисляется формула на данном участке кода
Скорее всего из-за того, что Вы в международном свойстве Formula используете русские названия функций вместо английских и точку с запятой вместо с запятой. Попробуйте свои выкладки поместить в свойство FormulaLocal, либо заменитесь в Formula на английские функции и запятые.Gustav
Gustav, спасибо за отклик! Попробывал FormulaLocal - результат такой же , переделал на запись в переменную возвращает Error 2015 т.е. #ЗНАЧ, хотя формула должна возвращать значение.
[vba]
Код
Public Function uni_agregat(Table As Range, Date_1 As Variant, Date_2 As Variant) As Variant Dim Val As Variant
'Здесь будет цикл по датам от Date_1 до Date_2
For i = 1 To Table.Count 'Цикл по данным на конкретную дату
If Not Table(i).EntireRow.Hidden = True Then ' Если не скрыта строка фильтром
'With Workbooks("Доделать то что хотел.xlsm").Worksheets("Лист3").Cells(1, 1)
Gustav, спасибо за отклик! Попробывал FormulaLocal - результат такой же , переделал на запись в переменную возвращает Error 2015 т.е. #ЗНАЧ, хотя формула должна возвращать значение.
[vba]
Код
Public Function uni_agregat(Table As Range, Date_1 As Variant, Date_2 As Variant) As Variant Dim Val As Variant
'Здесь будет цикл по датам от Date_1 до Date_2
For i = 1 To Table.Count 'Цикл по данным на конкретную дату
If Not Table(i).EntireRow.Hidden = True Then ' Если не скрыта строка фильтром
'With Workbooks("Доделать то что хотел.xlsm").Worksheets("Лист3").Cells(1, 1)
Ну ёпрст!! Вы у меня в Evaluate где-то увидели двойные кавычки или русские названия функций?? Не надо самодеятельности! И точек с запятой тоже! Всё должно быть в исходном формате вероятного противника. Сделайте запись макрорекордером - что он Вам напишет в свойство Formula по-английски, то и бережно перенесите в свой код.
P.S. Впрочем, уточнил - можно двойные кавычке в Evaluate ВМЕСТО квадратных скобок: [vba]
Ну ёпрст!! Вы у меня в Evaluate где-то увидели двойные кавычки или русские названия функций?? Не надо самодеятельности! И точек с запятой тоже! Всё должно быть в исходном формате вероятного противника. Сделайте запись макрорекордером - что он Вам напишет в свойство Formula по-английски, то и бережно перенесите в свой код.
P.S. Впрочем, уточнил - можно двойные кавычке в Evaluate ВМЕСТО квадратных скобок: [vba]
Gustav, можете мне помочь пожалуйста написать этот участок так, чтобы в переменную Val вычислялась динамическая формула с параметрами Table(i) , Date_2, Date_1. Английская также возвращает Error 2015 [vba]
Код
Public Function uni_agregat(Table As Range, Date_1 As Variant, Date_2 As Variant) As Variant Dim Val As Variant
'Здесь будет цикл по датам от Date_1 до Date_2
For i = 1 To Table.Count 'Цикл по данным на конкретную дату
If Not Table(i).EntireRow.Hidden = True Then ' Если не скрыта строка фильтром
'With Workbooks("Доделать то что хотел.xlsm").Worksheets("Лист3").Cells(1, 1)
Val = Val + Application.Evaluate([OFFSET(src!$C$1,MATCH($A$3,src!$B:$B,0)-1,Svod!C2-src!$C$1,1,1)])
End If
Next
uni_agregat = Val
End Function
[/vba]
Gustav, можете мне помочь пожалуйста написать этот участок так, чтобы в переменную Val вычислялась динамическая формула с параметрами Table(i) , Date_2, Date_1. Английская также возвращает Error 2015 [vba]
Код
Public Function uni_agregat(Table As Range, Date_1 As Variant, Date_2 As Variant) As Variant Dim Val As Variant
'Здесь будет цикл по датам от Date_1 до Date_2
For i = 1 To Table.Count 'Цикл по данным на конкретную дату
If Not Table(i).EntireRow.Hidden = True Then ' Если не скрыта строка фильтром
'With Workbooks("Доделать то что хотел.xlsm").Worksheets("Лист3").Cells(1, 1)
из файла выше хочу, чтобы по произвольному фильтру по столбцу Данные лист Svod строился график по Пар_1 из исходных данных с листа src. соотвественно нужен динамический график по возможности задавать даты. Сейчас сделано просто сумма по Пар_1 через именнованый диапазон, необходимо тоже самое только с возможностью произвольного фильтра.
из файла выше хочу, чтобы по произвольному фильтру по столбцу Данные лист Svod строился график по Пар_1 из исходных данных с листа src. соотвественно нужен динамический график по возможности задавать даты. Сейчас сделано просто сумма по Пар_1 через именнованый диапазон, необходимо тоже самое только с возможностью произвольного фильтра.dilius
_Boroda_, все так только теперь если сделать фильтр на допусти Ан-1, Ан-2, Ан-3 необходимо, чтобы график перестроился на сумму по Пар_1 только этих трех.
_Boroda_, все так только теперь если сделать фильтр на допусти Ан-1, Ан-2, Ан-3 необходимо, чтобы график перестроился на сумму по Пар_1 только этих трех.dilius
_Boroda_, спасибо вам за формулу. А можете подсказать аналогичную только если один параметр допустим будет текстовый. График по нему естественно не нужен.
_Boroda_, спасибо вам за формулу. А можете подсказать аналогичную только если один параметр допустим будет текстовый. График по нему естественно не нужен.dilius