Уже подзабыл как писать макросы, последний раз это делал несколько лет назад, поэтому прошу помощи сообщества в его написании.
Нужно написать макрос, что будет суммировать значения в столбце до первой пустой ячейки, писать сумму в строке, в которой указана категория и снова начать подсчет до следующей пустой и так до конца таблицы длиной свыше 1 тыс строк.
Лучше покажу на схематическом примере (поскольку на радикал не удалось залить, даю картинку в виде альтернативной ссылки и вложения): http://gyazo.com/f1b2e2b56b5d33593db453c600c1cccd.png Необходимо в ячейке B1 указать сумму всех значений, что входят в категорию Car1, в ячейке В7, все значения категории Car2....CarN Указывать сумму предпочтительней в серой ячейке, но если это сложнее реализовать, то в желтой, правда это приведет к дублированию и Total увеличится на 2.
P.S. Макрос сохранит несколько часов моей жизни), буду всем благодарен за помощь.
Уже подзабыл как писать макросы, последний раз это делал несколько лет назад, поэтому прошу помощи сообщества в его написании.
Нужно написать макрос, что будет суммировать значения в столбце до первой пустой ячейки, писать сумму в строке, в которой указана категория и снова начать подсчет до следующей пустой и так до конца таблицы длиной свыше 1 тыс строк.
Лучше покажу на схематическом примере (поскольку на радикал не удалось залить, даю картинку в виде альтернативной ссылки и вложения): http://gyazo.com/f1b2e2b56b5d33593db453c600c1cccd.png Необходимо в ячейке B1 указать сумму всех значений, что входят в категорию Car1, в ячейке В7, все значения категории Car2....CarN Указывать сумму предпочтительней в серой ячейке, но если это сложнее реализовать, то в желтой, правда это приведет к дублированию и Total увеличится на 2.
P.S. Макрос сохранит несколько часов моей жизни), буду всем благодарен за помощь.ttat01
Sub tt() Dim r As Range For Each r In Range("B1", Cells(Rows.Count, 2).End(xlUp)).SpecialCells(2).Areas r(0, 2).Formula = "=SUM(" & r.Address & ")" Next r End Sub
[/vba]
попробуйте так [vba]
Код
Sub tt() Dim r As Range For Each r In Range("B1", Cells(Rows.Count, 2).End(xlUp)).SpecialCells(2).Areas r(0, 2).Formula = "=SUM(" & r.Address & ")" Next r End Sub
Там и без макроса все в 3 секунды делается независимо от к-ва строк. В первом столбце через F5 выделяем пустые. нажимаем на знак = , стрелка вверх, ctrl+enter. Копируем столбец - спецвставка - значения. Аналогично во втором столбце выделяем пустые и удаляем строку целиком. Дальше данные - промитоги. Все. Можно записать макрорекордером. Вот что вышло.
Там и без макроса все в 3 секунды делается независимо от к-ва строк. В первом столбце через F5 выделяем пустые. нажимаем на знак = , стрелка вверх, ctrl+enter. Копируем столбец - спецвставка - значения. Аналогично во втором столбце выделяем пустые и удаляем строку целиком. Дальше данные - промитоги. Все. Можно записать макрорекордером. Вот что вышло. KuklP
с позволения модераторов, апну тему. Есть схожая задача, только значения до пустых строк по столбцам нужно посчитать для нескольких колонок + применить дополнительные формулы к полученным значениям. с ВБА не дружу, поэтому буду благодарен за любую помощь прилагаю файлик с примером данных и примером того, что нужно получить
к полям есть встроенные комментарии, как значение должно вычисляться
очень прошу помочь [moder]Нет на то модераторского дозволения. Читайте п. 5q Правил форума.
с позволения модераторов, апну тему. Есть схожая задача, только значения до пустых строк по столбцам нужно посчитать для нескольких колонок + применить дополнительные формулы к полученным значениям. с ВБА не дружу, поэтому буду благодарен за любую помощь прилагаю файлик с примером данных и примером того, что нужно получить
к полям есть встроенные комментарии, как значение должно вычисляться
очень прошу помочь [moder]Нет на то модераторского дозволения. Читайте п. 5q Правил форума.hylas