找到包含子字符串的所有单元格并添加它们

时间:2015-07-07 01:35:23

标签: excel excel-vba vba

我想添加包含单词" WAGES"如果G列中的单元格包含单词" WAGES"将显示金额(列j)。如果有2个或更多个单元格包含" WAGES"然后他们各自的金额将被添加。这是我的代码:

Dim i As Integer
Dim x As String, name As String
Dim a As Double, b As Double

x = "WAGES"
i = 3
Do Until Sheets("SHIPNET").Cells(i, 7) = ""
    name = Sheets("SHIPNET").Cells(i, 7)

    If InStr(1, name, x, 1) Then

        a = Sheets("SHIPNET").Cells(i, 10).Value
        i = i + 1
    End If

    If InStr(1, name, x, 1) Then

        b = Sheets("SHIPNET").Cells(i, 10).Value
        i = i + 1
    End If

i = i + 1
Loop

Sheets("MACRO TEMPLATE").Cells(5, 3) = a + b

我的代码仅限于包含" WAGES"的2个单元格。反正有没有让它变得动态而不是只找到2个细胞?

在图片的情况下,将添加-28,622.20和-50,372.64。

enter image description here

1 个答案:

答案 0 :(得分:2)

为什么不使用带有通配符的SUMIF? 一行代码替换整个事物。

Sheets("MACRO TEMPLATE").Cells(5, 3) = worksheetfunction.SumIf(Sheets("SHIPNET").Range("G:G"),"*WAGES*",Sheets("SHIPNET").Range("J:J"))