| 
    
     |  | さっきの補足というか、おまけというか。 
 >>エクセルマクロでワークシート上のデータから回帰直線の傾きと切片を求めたいと
 >>思っています。
 >>a = WorksheetFunction.LinEst(Range("A1:A5"), Range("B1:B5"), True, False)
 >LINESTワークシート関数のヘルプによると、
 > 傾き: INDEX(LINEST(既知の y,既知の x),1)
 > y切片:INDEX(LINEST(既知の y,既知の x),2)
 >ということなので、それをそのままVBAで表現すると・・・
 
 下のようにLinEst関数の戻り値をVariant変数で受けると、INDEXは使わなくてもいいです。
 Sub test()
 Dim rx As Range, ry As Range, dt As Variant
 With Application.ActiveSheet
 Set rx = Range("B1:B5") 'X
 Set ry = Range("A1:A5") 'Y
 End With
 'Variant(Array)で受け取る
 With Application.WorksheetFunction
 dt = .LinEst(ry, rx)
 End With
 '結果
 MsgBox dt(1), vbInformation, "傾き"
 MsgBox dt(2), vbInformation, "y切片"
 '
 Set rx = Nothing: Set ry = Nothing
 End Sub
 
 こんな感じです。
 
 |  |