单元格公式:改变范围的总和

时间:2016-07-29 16:49:58

标签: excel-vba vba excel

我正在处理电子表格,该电子表格会添加客户的个别订单,以创建应付总额。可以说,订单数量有所变化。所以我想知道是否有任何方法让细胞在其上方添加特定范围,可以这么说。例如,单元格公式根据订单数量(我有该数字)而变化,然后添加数字高于它的单元格。例如,如果客户有2个订单,则单元格(例如D45)将具有公式" = Sum(D43:D44)"但当rg到达下一个需要添加不同订单的地方时,该公式会发生变化。我可以添加它们并将该单元格中的值等同于该值,但我希望能够动态地更改这些数字和总数。提前谢谢。

编辑:正如所建议的那样,这是迄今为止我所拥有的代码 iws.Cells(Parse - 1, 3).FormulaR1C1 = "=Sum( R[" & (OrdCt * 2) * -1 & "],C[0]: R[- 1 ],C[0])" 我正在通过电子表格进行解析,因此我不确切知道我在给定时间内所处的单元格。我只知道我有多少订单(存储在OrdCt中),每个订单都有一个额外的收费标签,所以对于每个订单我需要添加2个空格。我期待公式将被放入特定的单元格中,我可以在此之前更改订单总数,并将反映在该单元格中。

1 个答案:

答案 0 :(得分:0)

您可能正在寻找名为.FormulaR1C1的Range属性,该属性引用行和列偏移。我会引用您的链接here。由于您使用的是VBA,因此您的代码可能类似于

Public Sub SumOrders(target As Range, numOrders As Integer)
    'Variables
    Dim rOffset As Integer
    rOffset = numOrders * -1

    'Set Formula
    target.FormulaR1C1 = "=SUM(R[" & rOffset & "]C[0]:R[-1]C[0])"  
End Sub

也许这是令人费解的,但试着推断 干杯!