Вы можете использовать InputBox, чтобы запросить у пользователя диапазоны и указать Type = 8 для диапазона, а затем потенциально использовать Linest
Option Explicit
Public Sub GetRegressionStatistics()
Dim rX As Range, yRange As Range, vStat As Variant, xRange1 As Range, xRange2 As Range, xRange3 As Range
Set xRange1 = [A2:A4] 'Application.InputBox("Please select x1 values", Type:=8)
Set xRange2 = [B2:B4] 'Application.InputBox("Please select x2 values", Type:=8)
Set xRange3 = [C2:C4] 'Application.InputBox("Please select x3 values", Type:=8)
Set yRange = [D2:D4] ' Application.InputBox("Please select y values. The dimensions of y must match x", Type:=8)
Set rX = Application.Union(xRange1, xRange2, xRange3)
vStat = Application.WorksheetFunction.LinEst(yRange, rX, True, True)
[F1].Resize(UBound(vStat, 1) + 1, UBound(vStat, 1) + 2) = vStat
End Sub
Выше адаптировано из здесь .
Информация о Linest.