使用LINEST 5000次进行梯度计算,无需手动input代码

我正在尝试对一组力 – 距离曲线数据执行梯度计算。 我似乎有100组数据(x,y)的计算代码,尽pipe手动将此数值设置为5000会花费大量时间。 我想知道是否有一个函数可以执行以计算5000组x,y数据。 它是一个循环function? 对不起,但我是一个生物物理学家和新的编码。

下面是我的代码的一些例子:

Sub S_Grad_Extraction() ' ' S_Grad_Extraction Macro ' ' Sheets.Add After:=ActiveSheet ActiveCell.FormulaR1C1 = _ "=LINEST(Sheet1!R[10]C:R[14]C,Sheet1!R[10]C[1]:R[14]C[1])" Range("A2").Select ActiveCell.FormulaR1C1 = _ "=LINEST(Sheet1!R[9]C[2]:R[13]C[2],Sheet1!R[9]C[3]:R[13]C[3])" Range("A3").Select ActiveCell.FormulaR1C1 = _ "=LINEST(Sheet1!R[8]C[4]:R[12]C[4],Sheet1!R[8]C[5]:R[12]C[5])" Range("A4").Select ActiveCell.FormulaR1C1 = _ "=LINEST(Sheet1!R[7]C[6]:R[11]C[6],Sheet1!R[7]C[7]:R[11]C[7])" Range("A5").Select 

编辑:添加到代码块

不知道你想要达到什么目标,但是用于Range.Offset的for循环可以完成这项工作。

 For i = 0 To 5000 - 1 Dim x As String, y As String x = Sheet1.Range("A11:A15").Offset(0, i * 2).Address(False, False, xlA1, True) y = Sheet1.Range("B11:B15").Offset(0, i * 2).Address(False, False, xlA1, True) ActiveCell.Offset(i, 0).Formula = "=LINEST(" + x + "," + y + ")" Next i 

问候