VBA excel方程继续向下列

我正在试图写出一个方程,在列的下方,一般方程是相同的。

即有列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列中的哪个单元格应该被检查以显示“*” – 我不清楚你的问题。 希望这可以帮助!

Interesting Posts