将总计添加到行标题符合标准的列

为此事先道歉,我对VBA非常陌生,我确信这是我正在努力的简单编码。

根据用户定义的月份数(刚刚input到ssheet中),我有一行列标题给出月份编号和上个月之后的标题“总计”。

即用户说12个月,单元格A2 =“1月15日”和M2 =“总计”。

在标题下面,用户添加一些销售数据。

我需要做的是使用VBA将总数添加到每个数据行的头部=“total”的末尾。

我在想如果那么有道理,但我正在努力如何让macros把公式放在正确的单元格,然后让公式看看variables范围。 这是迄今为止最好的(请不要笑!)

Sub Add_total() Dim criteria As String criteria = Range("A:A").Value If criteria = "Total" Then Range("12:12").Select ActiveCell.Formula = "=sum($c12:c12)" End If End Sub 

我想要的是,例如,M2 =“Total”,那么C12 = sum(c1:L12)

我意识到最简单的方法就是让用户自己添加总计,或者将总数列放在工作表左侧,但这是整个业务过程的一部分,需要限制手工input/保证计算的准确性。

任何帮助非常感谢。

为什么不简单地把单元格M3的函数=sum(A3:L3)并向下复制?

如果你在VBA中需要它,应该这样做:

 Sub testsum() i = 3 'start in cell3 While Not IsEmpty(Cells(i, 1)) Cells(i, 13) = WorksheetFunction.Sum(Range((Cells(i, 1)), (Cells(i, 12)))) i = i + 1 Wend End Sub 

非常感谢 – 不是我所需要的,但是你指出了我的方向。 最后去了下面这个:

 Sub Total() Set Find_total = Range("6:6").Find("Total",_ LookIn:=xlValues,searchorder:=xlByColumns) Set Revenue_total = Find_total.Offset(rowoffset:=3, columnoffset:=-1) Set Revenue_cell = Find_total.Offset(rowoffset:=3, columnoffset:=0) Revenue_cell = WorksheetFunction.Sum(Range((Cells(9, 2)), Revenue_total)) End Sub 

再次感谢