Можно ли использовать массив в функции LinEst в VBA?

По сути, вместо выбора диапазона из ячеек я сохранил значения в массиве с помощью цикла. В идеале я хотел бы использовать эти массивы в качестве известных х 'с и уs в функции LinEst.

Цель этого не важна, поскольку то, что я пытаюсь сделать, является лишь частью кода, который я уже написал. Тем не менее, циклы Do (ну, по крайней мере, 2-й) действительно должны быть там, поскольку код, к которому я пытаюсь применить это, требует их для функционирования.

Ниже приведен простой пример кода, который я пытаюсь написать.

Sub Test()

Dim Counter As Long
Dim Counter_1 As Long

Dim x As Single
Dim y As Single
Dim i As Single
Dim m As Single

Dim myArray_1() As Single
Dim myArray_2() As Single

ReDim myArray_1(i)
ReDim myArray_2(i)

Counter = 2
Counter_1 = 2

i = 0

Cells(1, 4) = "m"

x = Cells(Counter, 1)
y = Cells(Counter, 2)

Do

Do Until x = 0

myArray_1(i) = x
myArray_2(i) = y

Cells(Counter, 6) = myArray_1(i)
Cells(Counter, 7) = myArray_2(i)


i = i + 1

Counter = Counter + 1

x = Cells(Counter, 1)
y = Cells(Counter, 2)

ReDim Preserve myArray_1(i)
ReDim Preserve myArray_2(i)

Loop

m = WorksheetFunction.LinEst(myArray_2, myArray_1)

Cells(Counter_1, 4) = m

Loop

End Sub

Поэтому я хочу, чтобы функция LinEst использовала каждый массив как известнос и известный х 's. В зависимости от того, что я изменяю, я получаю разные ошибки, такие как «несоответствие типов", или же "не удалось получить свойство LinEst класса функции worksheet ", В любом случае, мне пока не везло в том, чтобы заставить это работать, и всегда ошибки. Из функции LinEst все, что мне нужно, это градиент 'm'.

Единственная причина, по которой вещи были помещены в ячейки, это чтобы убедиться, что код выполняет то, что я от него требую.

Из того, что я могу сказать, просматривая Интернет, можно использовать массив внутри функции LinEst, однако примеры, как правило, кардинально отличаются от того, что я пытаюсь сделать.

Если кто-то может помочь вообще, я был бы очень признателен. Заранее спасибо. Любые вопросы, не стесняйтесь спрашивать.

Ответы на вопрос(2)

Ваш ответ на вопрос