基于另一列中的特定值的总计优于VBA

时间:2017-04-20 20:43:09

标签: excel vba

在excel中使用VBA,我试图在a列中的特定文本之后添加一个新行,然后汇总b列中的成本。

这个新行应该采用指定的文本" apple"并在列a中添加单词total。在b栏中,它应该简单地总结所有" apple" s。

A栏随机抽取3种水果(苹果,橙子和香蕉)。

B栏是每种苹果,橙子和香蕉的成本。

看起来应该是这样的

Apple $12    
Apple $12    
Apple $12    
orange $13    
orange $13    
Banana $7    
Banana $7

Apple $12    
Apple $12    
Apple $12    
Apple Total $36    
orange $13    
orange $13    
orange Total $26    
Banana $7    
Banana $7    
Banana Total $14

1 个答案:

答案 0 :(得分:0)

您可能想要更改循环的边界(我只通过第20行)。当值也是货币时,这将有效。

Dim i As Integer
Dim j As Integer
Dim frt As String

j = 1

For i = 2 To 20
    If Cells(i, 1).Value <> Cells(i - 1, 1).Value Then
        Range("A" & i).EntireRow.Insert
        frt = Cells(i - 1, 1).Value & " Total"
        Cells(i, 1).Value = frt
        Cells(i, 2).Value = Application.WorksheetFunction.Sum(Range("B" & j, "B" & i - 1))
        j = i + 1
        i = i + 1
    End If
Next i

End Sub