Страницы: 1
RSS
Как записать через aplication коэф. полинома ^{1:2}
 
Добрый день!
Подскажите, пожалуйста, как в VBA записать часть формулы, которая находится  в фигурных скобках?
Формула Эксель (массив на 3 ячейки) -
Код
=ЛИНЕЙН(D1:AA1;D2:AA2^{1:2})
В VBA пишу следующим образом, но {} не воспринимает, выдает ошибку.
Код
f = Application.LinEst(ДИАПАЗОН, ДИАПАЗОН2 ^ {1:2})
Может кто помочь?
Заранее спасибо.
Изменено: OblivionR - 23.03.2019 23:33:33
 
Цитата
OblivionR написал:
часть формулы, которая находится  в квадратных скобках
В Вашей формуле нет квадратных скобок )
 
OblivionR,https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=114093&...
 
Казанский, ответа на свой вопрос по ссылке не нашел, данные инструкции не подходят.

Может быть код ниже нужно отредактировать? точнее его точно нужно изменить, range_fact_mas и range_time_mas это диапазоны ячеек в текстовом формате. Но как я я не ставил &" все равно не работает.
Код
 f = Evaluate("LINEST(range_fact_mas,range_time_mas^{1:2})")
Изменено: OblivionR - 25.03.2019 12:49:25
 
в D3:AA3 возведите в квадраты числа из D2:AA2
f = Application.LinEst(D1:AA1; D2:AA3, True)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, таким способом получаем только А и Б, для формулы полинома 2 степени, и то они не которые должны быть, в общем не подходит

Извиняюсь, я кажется понял о чем вы
Изменено: OblivionR - 25.03.2019 13:55:25
 
Ігор Гончаренко, тут проблема как это написать в VBA, потому что данные вводятся выделением мышкой диапазона, в после это значение (как текст) подставляется в формулу.
 
))
откройте файл. выполните это (макрос лежит в модуле листа):
Код
Sub AL()
  Dim f
  f = Application.LinEst([D1:L1], [D2:L3], True)
  Stop
End Sub
смотрите что пришло в f
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, да я это все понял, спасибо вам большое) Тут дело в том что данные считаются не на листе, а внутри макроса, и пользователю нужно просто выделить нужный диапазон ячеек, но кажется теперь я знаю что делать. Отпишусь позже.
 
с массивами LinEst справляется так же, как и с диапазонами данных
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
с массивами LinEst справляется так же, как и с диапазонами данных
Это да, но не стоит забывать, что Aplication.linest подходит для массивов, а Aplication.worksheetfunction.linest не всегда.

В общем просто создал доп. массив в который запихнул квадратичные значения -

Код
ReDim range_time_mas_2(1 To 2, 1 To UBound(range_time_mas, 2))
    For i = 1 To UBound(range_time_mas, 2)
        range_time_mas_2(1, i) = range_time_mas(1, i)
        range_time_mas_2(2, i) = range_time_mas_2(1, i) ^ 2
    Next i
Напоминаю что Рэндж пользователь вводит выделяя нужный диапазон ячеек (1 строку), подсчитать внизу квадраты нет возможности.
Изменено: OblivionR - 25.03.2019 15:26:38
Страницы: 1
Наверх