Используйте VBA с регрессионной надстройкой

#vba #excel #regression

#vba #excel #регрессия

Вопрос:

Я загрузил эту многомерную регрессионную надстройку с этого веб-сайта: http://www3.wabash.edu/econometrics/EconometricsBook/Basic Tools/ExcelAddIns/OLSRegression.htm

Следующий код пытается запустить надстройку. Однако после того, как я задал свои диапазоны в виде массивов, код по-прежнему говорит, что ожидается массив.

Кто-нибудь может помочь?

 Sub XLAExample()
    Dim x
    Dim ws As Worksheet
    Set ws = Worksheets("Sheet3")
    Dim xy As Double
    Dim xyz As Double

    xy = ws.Range("b2:b3750")
    xyz = ws.Range("bm2:bm3750")

   x = OLSRegressionAddIn.MatrixWorkNew(xy, xyz)




End Sub
  

Ответ №1:

Вам не хватает круглых скобок во время

 Dim xy() As Double
Dim xyz() As Double
  

строки. Они нужны вам для объявления массива

Редактировать: приведенный ниже пример того, как затемнить, а затем установить массив

 Dim wb as Workbook
Dim ws as WorkSheet
Set wb = ThisWorkbook
Set ws = wb.Sheets("Sheet1")
Dim testArr() As Variant
testArr = ws.Range("A1:A5") 'obviously replace with correct range
  

Комментарии:

1.Когда я пытаюсь задать диапазон для массива, он выдает несоответствие типов. Set rng = Worksheets("Sheet3").Range("BK1:BK3750") xvals() = rng

2. @Daruki когда вы устанавливаете массив равным, вы не используете круглые скобки. Я добавил пример выше

3. @Daruki Также просто для справки в будущем вы можете прочитать это