Доброе время суток! Прошу помощи нижайше. Есть файл, состоящий из полусотни листов. Каждый лист содержит рапорт о сырье. Допустим в столбце А - сырье, в столбце В - тонны. Мне нужно суммировать данные по ВСЕМ листам для КАЖДОГО сырья из столбца А, но, т.к. значения в столбце А в произвольном порядке, это сводит на нет использование СУММ(Диапазон листов!Ячейка), а СУММЕСЛИ не робит. Поиски в Интернете привели меня к следующему решению:
З.Ы. Информатику изучала давно, макрос составляла по наитию
Код |
---|
Private Sub Сырье() Dim iCount%, iResult#, i, j As Integer With ActiveWorkbook.Worksheets For iCount = 2 To .Count 'для каждого листа For i = 4 To 10 'для каждой строки If .Item(1).Cells(i, 1) = .Item(iCount).Cells(i, 1) Then 'если значение в i-ой строке 1-го столбца совпадает с значением в iCount листе iResult = iResult + .Item(iCount).Cells(i, 2) 'сложить найденные значения .Item(1).Cells(i, 2) = iResult 'вывести результат на первый лист Next а здесь стопорится эта чудесная идея Next End With End Sub |
З.Ы. Информатику изучала давно, макрос составляла по наитию