korotetsky, не совсем понял. У тебя задача сделать это формулой или макрос тоже подойдет?
добавлено через 28 минут
Цитата:
Сообщение от Li2n
Нужно чтобы макрос проверял первый столбец на наличие повторений и если совпало то суммировал бы второй столбец по совпавшим строкам и сумму записывал в 3 столбец.
|
а в какую строку, если например 5 повторений.
Другими словами.
1 действие: сортируем данные по первой колонке
2 действие: сумируем однотипные данные
Цитата:
Сообщение от Li2n
приходится постоянно для вновь созданной таблицы писать функции Сумесли или ВПР...
Хотелось бы рабочий макрос это быстрее и эффективнее
|
Да вобщем то макрос простой
Код:
стр = 2
Do While Not IsEmpty(Cells(стр, 1))
Cells(стр, 3).Select
ActiveCell.Formula = "=B" + CStr(стр) + "+7" 'здесь твоя формула
стр = стр + 1
Loop
можно воспользоваться FormulaR1C1
добавлено через 49 минут
Li2n, если я тебя правильно понял то:
Код:
Sub Макрос1()
стр = 2
Do While Not IsEmpty(Cells(стр, 1))
стр2 = стр + 1
Стр3 = 0
If IsEmpty(Cells(стр, 3)) Then
F = "=RC[-1]"
Do While Not IsEmpty(Cells(стр2, 1))
If Cells(стр, 1).Value = Cells(стр2, 1).Value Then
Стр3 = Стр3 + 1
Sheets(2).Cells(Стр3, 1).Formula = "=" + CStr(стр2)
Sheets(2).Cells(Стр3 + 1, 1).Formula = ""
F = F + "+R[" + CStr(стр2 - стр) + "]C[-1]"
End If
стр2 = стр2 + 1
Loop
Cells(стр, 3).FormulaR1C1 = F
стр2 = 1
Do While Not IsEmpty(Sheets(2).Cells(стр2, 1))
Cells(Sheets(2).Cells(стр2, 1).Value, 3).Formula = Cells(стр, 3).Formula
стр2 = стр2 + 1
Loop
End If
стр = стр + 1
Loop
End Sub
делает следующее
на текущем листе смотрит колонку 1 на совпадение и в колонку 3 вставляет формулу которая складывает колонку 2 для совпавших
Условие: Sheets(2) используется для хранения найденных данных