我正在尝试写一个在列中变化的方程,一般方程是相同的。
即有 A、B 和 C 列,方程在 C 列中显示结果。 一般方程 = C1(初始结果)+(B3+B1)/2 *(A3-A1) 将在下一行更新为
=C2+(B4+B2)/2*(A4-A1) 依此类推,沿着列向下移动
除此之外,当 A 列中没有值时,我在 C 列中添加了 *,我到目前为止编写的代码显示在下面,我真的希望有人能帮助我,谢谢
''''row number = row number + 1 on a loop
Worksheets("Sheet3").Cells(19, 1) = 0 '''this is A1=0
Worksheets("Sheet3").Cells(19, 3) = 0 '''This is C1 = 0
If Worksheets("Sheet3").Cells(19 + row_number, 1) = "" Then
''''if cell in A column is blank show * in column C
Usui_wear_depth = "*"
Else: Usui_wear_depth = Application.WorksheetFunction.Sum(Sheet3.[C22] + (([B25] + [B22]) / 2) *
([A25] - [A21])) ''' this is the General equation
End If
Worksheets("Sheet3").Cells(19 + row_number, 6) = Usui_wear_depth
最佳答案
这可以轻松地作为单个公式完成,无需 VBA:
=IF(ISBLANK(A3),"*",C1+(B3+B1)/2*(A3-$A$1))
如果您只是将此公式复制到 C 列的单元格中,它将按照您的描述进行更改。
我将对 A1 的引用设为绝对引用,因为它是方程中唯一一个从第一个版本到第二个版本没有改变的引用。您还可以决定应检查 A 列中的哪个单元格以显示“*” - 我从您的问题中不清楚这一点。希望这有帮助!
关于excel - VBA excel 方程继续沿列向下延伸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25059770/