Excel 使用VBA基于多个条件合并和求和行

Excel 使用VBA基于多个条件合并和求和行,excel,sum,rows,vba,Excel,Sum,Rows,Vba,我是一个VBA新手,不知道如何根据某些列标准合并和求和行。例如,B列和C列具有文本值,而A列具有数字值。第1行和第2行在B列和C列中具有相同的值。我希望将这些行与B列和C列合并为一行,B列和C列的值与前面的值相同,但A列具有前面行的总和。假设第1行包含列的标题,而其余行仅包含值,则以下代码应执行以下操作(对于表1): 你能用期望的结果附加屏幕吗?我不能附加屏幕截图。似乎分数不够。 Public Sub SumByTwoCriteria() Dim lngStartRow, lngSearchRo

我是一个VBA新手,不知道如何根据某些列标准合并和求和行。例如,B列和C列具有文本值,而A列具有数字值。第1行和第2行在B列和C列中具有相同的值。我希望将这些行与B列和C列合并为一行,B列和C列的值与前面的值相同,但A列具有前面行的总和。

假设第1行包含列的标题,而其余行仅包含值,则以下代码应执行以下操作(对于表1):


你能用期望的结果附加屏幕吗?我不能附加屏幕截图。似乎分数不够。
Public Sub SumByTwoCriteria()
Dim lngStartRow, lngSearchRow, lngLastRow As Long

lngLastRow = Sheet1.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

For lngStartRow = 2 To lngLastRow
    For lngSearchRow = lngStartRow + 1 To lngLastRow
        While Sheet1.Cells(lngStartRow, 2).Value2 = Sheet1.Cells(lngSearchRow, 2).Value2 And _
            Sheet1.Cells(lngStartRow, 3).Value2 = Sheet1.Cells(lngStartRow, 3).Value2
                Sheet1.Cells(lngStartRow, 1).Value2 = Sheet1.Cells(lngStartRow, 1).Value2 + Sheet1.Cells(lngSearchRow, 1).Value2
                Sheet1.Rows(lngSearchRow & ":" & lngSearchRow).Delete
                lngLastRow = lngLastRow - 1
        Wend
    Next lngSearchRow
Next lngStartRow

End Sub