Показать сообщение отдельно
Старый 27.04.2008, 01:42     # 461
Alex Dark
КОТовский
 
Аватар для Alex Dark
 
Регистрация: 12.03.2003
Адрес: ОренБюргер
Пол: Male
Сообщения: 1 569

Alex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех ГуруAlex Dark Отец (мать) всех Гуру
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) используется для хранения найденных данных
__________________
Все мы финансовые гении и эффективные менеджеры,
только не у всех одногруппник или сосед по даче - президент.
Alex Dark вне форума