Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос суммирования строк - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Макрос суммирования строк
x0r Дата: Вторник, 19.02.2013, 09:42 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Добрый день. Нужна помощь с макросом:
В конце таблицы в первом столбце создать строку с определенным названием, далее поиск в таблице 2 строк, копирование ячеек.



Строчку после таблицы создаю

Dim fr As Range
Set fr = Range("A" & Rows.Count).End(xlUp).Offset(1)
fr = "фрукты"


Следующий шаг видится так - выделение ячеек по имени, выделение строки, копирование на другой лист, суммирование, перенос итогового значения обратно. Это что можно сделать макроредактором, но это не оптимально, уверен есть более компактный код.
К сообщению приложен файл: Makros--1-.xlsx (10.7 Kb)
 
Ответить
СообщениеДобрый день. Нужна помощь с макросом:
В конце таблицы в первом столбце создать строку с определенным названием, далее поиск в таблице 2 строк, копирование ячеек.



Строчку после таблицы создаю

Dim fr As Range
Set fr = Range("A" & Rows.Count).End(xlUp).Offset(1)
fr = "фрукты"


Следующий шаг видится так - выделение ячеек по имени, выделение строки, копирование на другой лист, суммирование, перенос итогового значения обратно. Это что можно сделать макроредактором, но это не оптимально, уверен есть более компактный код.

Автор - x0r
Дата добавления - 19.02.2013 в 09:42
_Boroda_ Дата: Вторник, 19.02.2013, 10:22 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Не указан необходимый метод решения. Поэтому сделал произвольным
[vba]
Код
    Dim str_ As Range
     Dim r_ As Single 'или еще чего сюда прилепить
     r_ = Range("A" & Rows.Count).End(xlUp).Row
     Range("A" & r_ + 1) = "фрукты"
     Set str_ = Range("B" & r_ + 1 & ":E" & r_ + 1)
     str_.FormulaR1C1 = _
         "=SUMPRODUCT(R2C:R" & r_ & "C*((R2C1:R" & r_ & "C1=""яблоки"")+(R2C1:R" & r_ & "C1=""груши"")))"
     str_ = str_.Value
[/vba]
К сообщению приложен файл: Makros-1-1.xlsm (17.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе указан необходимый метод решения. Поэтому сделал произвольным
[vba]
Код
    Dim str_ As Range
     Dim r_ As Single 'или еще чего сюда прилепить
     r_ = Range("A" & Rows.Count).End(xlUp).Row
     Range("A" & r_ + 1) = "фрукты"
     Set str_ = Range("B" & r_ + 1 & ":E" & r_ + 1)
     str_.FormulaR1C1 = _
         "=SUMPRODUCT(R2C:R" & r_ & "C*((R2C1:R" & r_ & "C1=""яблоки"")+(R2C1:R" & r_ & "C1=""груши"")))"
     str_ = str_.Value
[/vba]

Автор - _Boroda_
Дата добавления - 19.02.2013 в 10:22
Michael_S Дата: Вторник, 19.02.2013, 13:46 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
А откуда мне знать, что огурцы - это не фрукты wacko
 
Ответить
СообщениеА откуда мне знать, что огурцы - это не фрукты wacko

Автор - Michael_S
Дата добавления - 19.02.2013 в 13:46
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!