在excel中怎样使用vba求和(要代码)?

要求:为某按钮加载宏,要求单击按钮,对B列数据和C列数据求和,结果显示在C列中,同时在F1单元格显示文字“本月数据已累加”

稍微修改了一下

Private Sub CommandButton1_Click()
Dim n
n = [c65536].End(xlUp).Row + 1 '找出C列最后一个单元格的位置
Cells(n, 3) = "=SUM(B1:C" & n - 1 & ")" '对B,C两列求和,并写入C列最后一个单元格
Cells(n, 3) = Cells(n, 3) '把公式转化为数值
[f1] = "本月数据已累加"
End Sub

可以再进行简化

Private Sub CommandButton1_Click()
[f1] = "=SUM(B:C)" '对B,C两列求和
Cells([c65536].End(xlUp).Row + 1, 3) = [f1] '把数值,写入C列最后一个单元格
[f1] = "本月数据已累加"
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-12
vba中使用工作表函数sumproduct,只能接受以逗号分隔的参数形式,不支持乘法运算形式
其实,用到vba了,就可以尽量不用工作表函数,直接用vba的强大功能灵活处理
或者,用sheet2.cells(1,
1).formula
=
"=sumproduct(sheet1!c2:c30="
&
char(34)
&
"a"
&
char(34)
&")*sheet1!c2:c30)"
直接将公式填入单元格
第2个回答  2010-05-14
Private Sub CommandButton1_Click()
if [f1]="" then
[c1]=[c1]+[b1]
[f1]="本月数据已累加"
endif
End Sub
相似回答