и она работает как надо, но проблема в том, что таких формул стало очень много и они тормозят работу как Excel, так и людей. Формулы массива идут последовательно в строке начиная со столбца J и грубо говоря до "бесконечности". Самый простой выход, который я вижу - это вычисление формул массива через макрос по нажатию кнопки и помещение результата, скажем в ячейку J15 и дальше по строке. Т.е. само вычисление происходит внутри vba, а итогом становится лишь результат в ячейке.
Народ с форума помог с задачей, но теперь она усложнилась. Есть формула массива
и она работает как надо, но проблема в том, что таких формул стало очень много и они тормозят работу как Excel, так и людей. Формулы массива идут последовательно в строке начиная со столбца J и грубо говоря до "бесконечности". Самый простой выход, который я вижу - это вычисление формул массива через макрос по нажатию кнопки и помещение результата, скажем в ячейку J15 и дальше по строке. Т.е. само вычисление происходит внутри vba, а итогом становится лишь результат в ячейке.matigovas
частично я разобрался с этой формулой, выложу, может поможет кому-то, только под другой диапазон, вот часть кода
[vba]
Код
Sub macros() With Range("X15") .FormulaArray = _ "=ROUNDUP(SUM(IF(COUNTIF(R25C22:R2000C22,R25C22:R2000C22)>1,R[10]C[-2]:R[1985]C[-2]/COUNTIF(R25C22:R2000C22,R25C22:R2000C22),R[10]C[-2]:R[1985]C[-2])*ISNUMBER(R25C22:R2000C22)),)" .Calculate End With End Sub
[/vba] в ячейку X15 записывается указанная в первом посте формула, однако мне бы не саму формулу, а уже результат, пока что я не могу найти нужную команду для постановки результата вычисления
частично я разобрался с этой формулой, выложу, может поможет кому-то, только под другой диапазон, вот часть кода
[vba]
Код
Sub macros() With Range("X15") .FormulaArray = _ "=ROUNDUP(SUM(IF(COUNTIF(R25C22:R2000C22,R25C22:R2000C22)>1,R[10]C[-2]:R[1985]C[-2]/COUNTIF(R25C22:R2000C22,R25C22:R2000C22),R[10]C[-2]:R[1985]C[-2])*ISNUMBER(R25C22:R2000C22)),)" .Calculate End With End Sub
[/vba] в ячейку X15 записывается указанная в первом посте формула, однако мне бы не саму формулу, а уже результат, пока что я не могу найти нужную команду для постановки результата вычисленияmatigovas
Сообщение отредактировал matigovas - Понедельник, 02.04.2018, 21:48
по непонятной для меня причине происходит "сдвиг" адреса, есть предположение, что первом случае это адрес формулы, которая "над" столбцом R[3]C:R[1978]C а во втором случае "сдвиг" это адрес относительно той ячейки куда помещается результат вычисления
по непонятной для меня причине происходит "сдвиг" адреса, есть предположение, что первом случае это адрес формулы, которая "над" столбцом R[3]C:R[1978]C а во втором случае "сдвиг" это адрес относительно той ячейки куда помещается результат вычисленияmatigovas
Сообщение отредактировал matigovas - Понедельник, 02.04.2018, 23:48