最近在学VBA入门,想编写一个使每行都可以自动求和的程序。但是如图,怎么也实现不了,运行第二个子程序的时候总是提示:“编译错误子过程或函数未定义”求助。
vba里没有sum函数,这个sum函数是excel的工作表函数。在vba里使用工作表函数要使用application的worksheetfunction属性。
具体用法是:Application.WorksheetFunction.Sum
所以第二个子程序的do循环里的语句
Cells(g,x)=sum(bx & ":" gx)要修改成:
Cells(x, "G") = Application.WorksheetFunction.Sum(Range("B" & x & ":F" & x))说明一下,你把cells属性也使用错了。Cells(RowIndex,ColumnIndex)第一个是行第二个是列。所以x行G列的单元格的表示方法是:Cells(x,"G")