Страницы: 1
RSS
VBA суммирование значений по условию
 
Задача по условию на листе 1 в столбце V, найти значения соответствующие условию на лиcте ЧС в столбце F, если данные совпадают, то на лист 1 просуммировать значения из листа ЧС столбца T в  соответствующую ячейку столбца X на листе  1.  у меня получилось, что поиск работает, но упирается в первое найденное значение на листе  ЧС и вставляет только его, как продолжить проверку значений и просуммировать все значения, удовлетворяющие условию.
Код
Dim a%, b%, sx,
Dim Sh1 As Worksheet

Set Sh1 = Sheets("ЧС")
 
For a = 9 To Cells(Rows.Count, 8.End(xlUp).Row
    For b = 4 To Sh1.Cells(Rows.Count, 2).End(xlUp).Row
        If Cells(a, 22) = Sh1.Cells(b, 6) Then
          sx = Application.WorksheetFunction.Sum(Sh1.Cells(b, 20))
           Cells(a, 24).Value =sx
End If
Next b
Next a
Изменено: g310 - 20.01.2019 12:53:54
 
Файл-пример в студию. Как есть - Как надо
Согласие есть продукт при полном непротивлении сторон
 
g310, код следует оформлять соответствующим тегом. Ищите такую кнопку (см. скрин) и исправьте своё сообщение.
 
я новенькая, спасибо, исправлюсь)
Изменено: g310 - 20.01.2019 12:09:01
 
g310, а у Вас в редакторе ничего красным не подсвечивается?
Проверьте:

Код
Sub Macro1()
Dim a%, b%
Dim Sh1 As Worksheet
    Set Sh1 = Sheets("ЧС")
    For a = 12 To Cells(Rows.Count, 8).End(xlUp).Row
        For b = 4 To Sh1.Cells(Rows.Count, 2).End(xlUp).Row
            If Cells(a, 22) = Sh1.Cells(b, 6) Then
                Cells(a, 24).Value = Cells(a, 24).Value + Sh1.Cells(b, 20)
            End If
        Next
    Next
End Sub
 
Ошибку не показывал, СПАСИБО ОГРОМНОЕ
Страницы: 1
Наверх