Просто нажмите ОК, и все готово.
аюсь построить простой макрос в 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.