excel中设置的函数如何用VBA代替其实现相同功能

表中用黄色表示的都是用的excel中的函数和公式共同实现的,在VBA中用代码如何实现其相同的功能?请高手帮忙!
=B6+SUMPRODUCT((录入表!$D$4:$D$6000=$A6)*(录入表!$A$4:$A$6000<=($G$2-1))*录入表!$G$4:$G$6000)-SUMPRODUCT((录入表!$D$4:$D$6000=$A6)*(录入表!$A$4:$A$6000<=($G$2-1))*录入表!$H$4:$H$6000)

=SUMPRODUCT((录入表!$D$4:$D$6000=A6)*(录入表!$A$4:$A$6000=$G$2)*录入表!$E$4:$E$6000)

=SUMPRODUCT((录入表!$D$4:$D$6000=A6)*(录入表!$A$4:$A$6000=$G$2)*录入表!$G$4:$G$6000)

=SUMPRODUCT((录入表!$D$4:$D$6000=A6)*(录入表!$A$4:$A$6000=$G$2)*录入表!$H$4:$H$6000)

这个excel表中共有三个文件薄,一个是“录入表”,一个是“汇总表”,另一个是:“科目表”,上面的公式 就是汇总表中C、D、E、F列,
百度不允许上传附件,我没法把表传上来。

第1个回答  2010-07-23
=SUMPRODUCT((录入表!$D$4:$D$6000=A6)*(录入表!$A$4:$A$6000=$G$2)*录入表!$H$4:$H$6000)

我怎么看都差不多,就是把H换等G,E,拿上面一个举例吧.有问题再说.

VBA代码.

sub mainfun()

Dim i%, Val1, Val2, Val3

With Sheets("录入表")
Val1 = .Cells(6, "A")
Val2 = .Cells(2, "G")
For i = 4 To 6000
If .Cells(i, "D") = Val1 And .Cells(i, "A") = Val2 Then Val3 = Val3 + .Cells(i, "H") '这里的H 换成E G即可
Next i
End With

MsgBox Val3
end sub
第2个回答  2010-07-23
VBA中,写用function aaa()定义的函数,在工作表中调用时,可以像普通函数一样的使用的。
第3个回答  2010-07-23
看热闹!
第4个回答  2010-07-26
我来试试[email protected]本回答被提问者采纳
相似回答