Вы вводите значения не по формуле; поэтому используйте «.Value» вместо «.FormulaArray».
Worksheets("Summary").Range("M3").Resize(daycount, 1).Value = Application.WorksheetFunction.Trend(yvalues, xvalues)
EDIT:
Остерегайтесь димеризации массивов.
Чтобы иметь возможность вставить массив непосредственно в диапазон, необходимо иметь размерность массива (от 1 до n, от 1 до 1).
Функция рабочего листа TREND принимает в качестве аргументов один размерный массив (от 1 до n), а также 2-мерный массив (от 1 до n, от 1 до 1). Важно отметить, что массив, доставленный функцией TREND, будет иметь то же измерение, что и ваши yvalues и xvalues array.
Так почему это сработало:
...=Array(Application.WorksheetFunction.Trend(yvalues, xvalues))
Поскольку Application.WorksheetFunction.Trend(yvalues, xvalues)
доставлял одномерный массив, а затем, когда передавал это в качестве аргумента функции Array (..), он превращался в двумерный массив.