2015-08-04 4 views
0

Моя проблема - часть sumif, она не может искать все ячейки, содержащие строку 'model', и добавить значение, относящееся к 'model'.Sumif ячейка содержит

Пожалуйста, помогите проверить, есть ли какая-либо ошибка, когда я использую функцию sumif.

Sub Test() 
    Dim file As String 
    Dim file1 As String 
    Dim wb As Workbook 
    Dim wb1 As Workbook 
    Dim ws As Worksheet 
    Dim ws1 As Worksheet 
    Dim ws2 As Worksheet 
    Dim i As Variant 
    Dim y As Variant 
    Dim LastRow As Long 
    Dim LastRow2 As Long 
    Dim Model As String 
    Dim NextMonth As String 
    Dim SumUp As Double 

    For i = 3 To LastRow 
     For y = 4 To LastRow2 

      If InStr(1, ws2.Cells(i, 3).Value, "GOOD FORTUNE CO LTD") And InStr(1, ws2.Cells(i, 10).Value, "FORTUNE ASIA") And InStr(10, ws2.Cells(i, 7).Value, "K") <> 10 Then  'Change Location 
       Model = Right(Left(ws2.Cells(i, 7), 9), 6) 

       If InStr(1, ws1.Cells(y, 5), Model) And ws1.Cells(y, 21) <> 0 Then 'Change Column Number of 2nd Condition 
        SumUp = Application.WorksheetFunction.SumIf(ws1.Range(ws1.Cells(4, 5), ws1.Cells(y, 5)), InStr(1, ws1.Cells(y, 5), Model), ws1.Range(ws1.Cells(4, 21), ws1.Cells(y, 21))) 
        ws2.Cells(i, 18).Value = SumUp  'Change Column Number of right hand side 
       End If 
      End If 
     Next y 
    Next i 

    MsgBox "Completed!" 
End Sub 

ответ

0

Вы должны символы, если вы хотите, чтобы проверить ячейки, содержащих текст:

SumUp = Application.WorksheetFunction.SumIf(ws1.Range(ws1.Cells(4, 5), ws1.Cells(y, 5)), "*" & Model & "*", ws1.Range(ws1.Cells(4, 21), ws1.Cells(y, 21))) 
0

Трудно быть уверенным, без примеров ваших исходных данных и желаемого результата, но это, кажется, что ваш criteria аргумента неверен.

Как написано:

InStr(1, ws1.Cells(y, 5), Model) 

Это возвратит число; не строка.

Кроме того, если вы хотите, чтобы аргумент критериев состоял в том, что ячейка (я) содержит значение в Model, вам также потребуются дикие карты.

Может быть что-то вроде:

"*" & Model & "*" 
Смежные вопросы