Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 根据记录类型计算总和_Vba_Excel_Excel Formula_Excel 2010 - Fatal编程技术网

Vba 根据记录类型计算总和

Vba 根据记录类型计算总和,vba,excel,excel-formula,excel-2010,Vba,Excel,Excel Formula,Excel 2010,这是我的示例excel文件数据 如何分别计算所有CR和DR类型记录的总和? 结果应该是 借方总额=XXX 总学分=XXX 逻辑,比如… Dim debit; for each row in sheet1 if(data of C column == dr) debit = debit + data of D column end if end for print debit; 我不太熟悉Excel 2010,因此不确定如何编写此代码,因此请给我一些实现此目的

这是我的示例excel文件数据

如何分别计算所有
CR
DR
类型记录的总和? 结果应该是

借方总额=XXX 总学分=XXX

逻辑,比如…

Dim debit;
for each row in sheet1
    if(data of C column == dr)
        debit = debit + data of D column
    end if
end for
print debit; 

我不太熟悉Excel 2010,因此不确定如何编写此代码,因此请给我一些实现此目的的基本步骤。

您可以使用以下公式获得此结果:

   =SUMIF(C:C,"=DR",D:D)
如果您想使用vba获取此信息,可以这样编写:

Dim debit, credit As Integer

With Worksheets("Sheet1")

    For x = 1 To .Cells(Rows.Count, 3).End(xlUp).Row

        If UCase(.Cells(x, 3).Value) = "DR" Then
            debit = debit + .Cells(x, 4).Value
        Else
            If UCase(.Cells(x, 3).Value) = "CR" Then
                credit = credit + .Cells(x, 4).Value
            End If
        End If
    Next

End With