#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 Также просто для справки в будущем вы можете прочитать это