1、示例代码:
Sub test1()2、如下图:
3、以上代码的作用是:调用工作表函数SUMIF,求A2:A9范围内符合C2单元格条件,对应的B2:B9范围内数值之和,结果输出到D2单元格。
sub macro1() for i=n to n+17 'n要换成实际的行号 for j=1 to m '从第一列开始,到第m列;m要换成实际的数字 cells(i,j).value=cells(i+25,j).value+cells(i+29,j).value next j next i end sub 其实不一定要用VBA,可以直接用公式完成 假设是第2到第19行的1到100列,首先在A2单元格输入公式:=A27+A31,然后往下填充到A19,再选择A2:A19,往右填充到第100列即可。 这样如果下面的数据发生了变化,求和的结果可以立刻随之改变;而VBA的必须重新运行宏才可以改变计算的结果。
使用工作表函数SUM,需要将单元格对象作为参数传递,而不是文本:
With Sheet1
.Cells(n,6).value = WorksheetFunction.Sum(.Range(.Cells(n,4), .Cells(k,4)))
End With
sum函数里不能加双引号,双引号表示里面的是文本,不是变量。
我用的代码如下:
b1 = Cells(28, 23).Address
b2 = Cells(28, 23 + yue).Address
b3 = b1 & ":" & b2
b = Application.WorksheetFunction.Sum(Range(b3))
如果C9到C18是相同的,C19和C18不同,则。。。
这句话本身存在矛盾,建议把源文件发给我,帮你看看。
240164005@qq.com