Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 将总计添加到行标题符合条件的列中_Excel_Vba - Fatal编程技术网

Excel 将总计添加到行标题符合条件的列中

Excel 将总计添加到行标题符合条件的列中,excel,vba,Excel,Vba,对此我深表歉意,我对VBA非常陌生,我确信这是我正在努力解决的简单编码 根据用户定义的刚输入到ssheet中的月数,我有一行列标题,给出了上个月后的月数和标题总数 i、 e.用户表示12个月,单元格A2=1月-15日,M2=总计 在标题下面,用户然后添加一些销售数据 我需要做的是使用VBA将总计添加到每行数据的末尾,其中header=total 我在想If-Then是有意义的,但我正在努力让宏将公式放入正确的单元格,然后让公式查看变量范围。这是迄今为止我想到的最好的,请不要笑 Sub Add_t

对此我深表歉意,我对VBA非常陌生,我确信这是我正在努力解决的简单编码

根据用户定义的刚输入到ssheet中的月数,我有一行列标题,给出了上个月后的月数和标题总数

i、 e.用户表示12个月,单元格A2=1月-15日,M2=总计

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

我需要做的是使用VBA将总计添加到每行数据的末尾,其中header=total

我在想If-Then是有意义的,但我正在努力让宏将公式放入正确的单元格,然后让公式查看变量范围。这是迄今为止我想到的最好的,请不要笑

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=sumc1:L12

我意识到,最简单的方法是让用户自己添加总计,或者在表格的左侧有一个总计列,但这涉及整个业务,需要限制手动输入/保证计算的准确性


非常感谢您的帮助

为什么不简单地将函数=sumA3:L3放入单元格M3并向下复制

如果您需要在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

再次感谢

真的很抱歉编辑此内容,由于某些原因,我无法添加一行。。。非常感谢,这不是我所需要的,但你为我指明了方向。最后,我们选择了以下选项:'Sub-Total Set Find_-Total=Range6:6.FindTotal,LookIn:=xlValues,searchorder:=xlByColumns Set Revenue_-Total=Find_-Total.offsetRoffset:=3,columnoffset:=0 Revenue_-cell=WorksheetFunction.SumRangeCells9,2,Revenue_-Total-end-Sub'