【问题标题】:VBA excel equation that continues down the column继续向下列的VBA excel方程
【发布时间】:2014-09-23 10:47:15
【问题描述】:

我正在尝试写一个随列变化的方程,一般方程是相同的。

即有 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

【问题讨论】:

    标签: excel vba if-statement sum equation


    【解决方案1】:

    这可以作为一个公式轻松完成,无需 VBA:

    =IF(ISBLANK(A3),"*",C1+(B3+B1)/2*(A3-$A$1))
    

    如果您只是将此公式复制到 C 列的单元格中,它将按照您的描述进行更改。

    我将对 A1 的引用设为绝对引用,因为它是等式中唯一没有从第一个版本更改为第二个版本的引用。您还可以决定应检查 A 列中的哪个单元格以显示“*” - 我并不清楚您的问题。希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2021-11-14
      • 1970-01-01
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      相关资源
      最近更新 更多