gpt4 book ai didi

vba - 使用 LINEST 5000 次执行梯度计算,无需手动输入代码

转载 作者:行者123 更新时间:2023-12-04 21:03:16 26 4
gpt4 key购买 nike

我正在尝试对力距离曲线数据集执行梯度计算。我似乎有 100 组数据 (x,y) 的计算代码,尽管手动继续到 5000 需要很长时间。我想知道是否有一个函数可以执行,以便对 5000 组 x,y 数据进行计算。它是一个循环功能吗?对此感到抱歉,但我是一名生物物理学家,并且是编码新手。

以下是我的代码的一些示例:

  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

问候

关于vba - 使用 LINEST 5000 次执行梯度计算,无需手动输入代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31673132/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com