以下是引用zhujunyun在2008-2-11 11:35:49的发言: 是不是就是开始的那几行代码?能不能解释下那几行代码是什么意思?谢谢. Function sumifcol(rang As Range, criteria As Range, Optional sum_range) '按颜色进行条件求和:有三个参数,都是单元格引用,其中第三参数为可选参数。 '第一参数为参照区域,第二参数为颜色条件,第三参数为求和区域,即第一参数中颜色与第二参数相同时 '则将对应的第三参数的单元格进行求和。如果省略第三参数则对第一参数求和 Dim i As Integer, andy, counts As Integer, rng3 As Range Application.Volatile If IsMissing(sum_range) Then Set rng3 = rang If Not IsMissing(sum_range) Then Set rng3 = sum_range(1).Resize(rang.Rows.Count, rang.Columns.Count) For i = 1 To rang.Count If rang(i).Interior.Color = criteria(1).Interior.Color Then counts = counts + 1 andy = WorksheetFunction.Sum(rng3(i)) + andy End If Next i If counts = 0 Then sumifcol = "无此背景色": Exit Function sumifcol = andy End Function
|