【问题标题】:Cell formula: Sum that changes range单元格公式:改变范围的总和
【发布时间】:2016-07-29 16:49:57
【问题描述】:

我正在制作一个电子表格,该电子表格将客户的各个订单相加以创建应付总额。可以说,订单数量发生了变化。所以我想知道是否有任何方法可以让单元格在其上方添加特定范围,可以这么说。例如,单元格公式会根据订单数量(我有那个数字)而变化,然后添加上面那个数字的单元格。例如,如果客户有 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 个空格。我希望将公式放入该特定单元格中,并且我可以更改之前的订单总数,它将反映在该单元格中。

【问题讨论】:

  • 请使用edit在原帖中发布一些测试数据和预期结果。
  • 为什么是 [excel-vba] ?似乎 [excel-formula] 会更合适。你真的有这个的VBA代码吗?如果是这样,请包括它并注明您遇到问题的区域。
  • 如果您发布数据和预期结果的模型会更容易。

标签: excel vba


【解决方案1】:

您可能正在寻找名为.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

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

【讨论】:

  • 好的,这就是我所拥有的公式iws.Cells(Parse - 1, 3).FormulaR1C1 = "=Sum( R[" & (OrdCt * 2 + 1) * -1 & "],C[0]: R[- 2 ],C[0])" 我知道这看起来很复杂,但这听起来是我最好的选择。我不断收到错误“无效使用属性”
  • 行和列偏移之间有逗号 :) 我还建议您在函数之外执行该计算或将整个事情放在一对额外的括号中不要忘记标记您的问题的答案,如果它解决了。 ;)
  • 现在我不断收到“应用程序定义或对象定义”错误。其他一切似乎都正常工作,但是当它到达那个等式时它遇到了障碍。是否与使用特定单元格有关?
  • 哦,没关系。原谅我的无知。我想我解决了这个问题。我会运行它,看看它是否有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 2022-08-14
  • 2022-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多