Просто нажмите ОК, и все готово.

аюсь построить простой макрос в VBA для Excel, который бы суммировал [объединять] все строки с одинаковым именем (значение в первых столбцах). Так например

ExampleRowA 1 0 1 1 3 4
ExampleRowA 2 1 2 2 1 0
ExampleRowC 9 7 7 7 2 5

результат должен выглядеть так

ExampleRowA 3 1 3 3 4 4
ExampleRowC 9 7 7 7 2 5

Можно предположить, что строки, которые необходимо объединить, не разбросаны и могут появляться только одна за другой.

Я сделал что-то вроде этого, и это почти работает, за исключением того, что я должен запустить его два раза.

LastRow = ActiveSheet.UsedRange.Rows.Count
Set r = ActiveSheet.UsedRange.Resize(1)
With Application.WorksheetFunction


     For iRow = 2 To LastRow
        If Cells(iRow, 1) = Cells(iRow + 1, 1) Then
            LastCol = r(r.Count).Column
            SumCol = LastCol + 1
                For iCol = 2 To SumCol
                Cells(iRow, iCol) = .Sum(Range(Cells(iRow, iCol), Cells(iRow + 1, iCol)))
                Next iCol
            Rows(iRow + 1).Delete
        End If
     Next iRow

End With

Я занимался программированием на других языках сценариев, но я новичок в VB / VBA и не знаю его возможностей / ограничений.

В других языках я, вероятно, использовал бы массивы, но я не понимаю, как они работают здесь. Я не могу отрицать, что из-за нехватки времени я предпочитаю учиться, анализируя примеры, а не читая 500-страничную Библию VBA.

Ответы на вопрос(4)

Ваш ответ на вопрос